{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 130,
   "metadata": {},
   "outputs": [],
   "source": [
    "import pandas as pd \n",
    "import os \n",
    "import datetime"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 1. 导入数据"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 131,
   "metadata": {},
   "outputs": [],
   "source": [
    "#os.chdir('E://CFPS-data/')\n",
    "#os.listdir()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 132,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 文件路径\n",
    "file_path_child = r'E:\\\\CFPS-data\\\\cfps2018childproxy_202012.dta'\n",
    "file_path_famconf = r'E:\\\\CFPS-data\\\\ecfps2018famconf_202008.dta'\n",
    "file_path_famecon = r'E:\\\\CFPS-data\\\\ecfps2018famecon_202101.dta'\n",
    "file_path_person = r'E:\\\\CFPS-data\\\\ecfps2018person_202012.dta'\n",
    "file_path_cross = r'E:\\\\CFPS-data\\\\ecfps2018crossyearid_202104.dta'"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 133,
   "metadata": {},
   "outputs": [],
   "source": [
    "#data_person = pd.read_stata(file_path_person, convert_categoricals=False) \n",
    "\n",
    "#value labels for column wm703 are not unique.解决方法  convert_categoricals=False\n",
    "data_famconf = pd.read_stata(file_path_famconf, convert_categoricals=False) "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 2. 分析家庭关系表 data_famconf"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 2.1 列出预计会使用的变量"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "- id related\n",
    "    - pid: 个人样本编码； 用于匹配\n",
    "    - fid18 : 家庭id； 用于匹配\n",
    "    - fid10 fid12 fid14 fid16 : 往次调查的家庭id\n",
    "    - code_a_p： 个人户内代码，可以用于剔除同住但无直接血缘关系的人 \n",
    "    - code_a18_p: 个人是否与该家庭在经济上是一家人\n",
    "    - familysize18：家庭规模，是使用code_a18_p计算的\n",
    "\n",
    "- 地址信息\n",
    "    - fid_provcd18：省级  \n",
    "    - fid_countyid18：区县级  \n",
    "    - fid_cid18：村居级  \n",
    "    - fid_urban18：城乡性质   \n",
    "\n",
    "- 基因成员: genetype18（有细分）  gene\n",
    "- 是否核心成员：COREMEMBER18\n",
    "\n",
    "- 性别：tb2_a_p\n",
    "- 出生年、月：tb1y_a_p, tb1m_a_p ;  调查年、月：cyear18, cmonth18  用于计算访问时的年龄\n",
    "- 户口：hukou_a18_p\n",
    "- 个人婚姻：tb3_a18_p\n",
    "    - 配偶婚姻：tb3_a18_s\n",
    "    - 配偶户口：hukou_a18_s\n",
    "    - 配偶是否健在：alive_a18_s\n",
    "    - 配偶去世原因：ta401_a18_s\n",
    "- 个人问卷是否完成：cfps2018_interv_p\n",
    "- 个人是否健在：alive_a18_p\n",
    "- 个人去世原因：ta401_a18_p\n",
    "    - 意外死亡代码：17\n",
    "        - 17.0.70\t机动车辆交通事故， 17.0.71\t机动车以外的运输事故， 17.0.73\t意外跌落，17.0.76\t淹死\n",
    "\n",
    "- 父母信息\n",
    "    - pid_a_f: 父亲样本编码\n",
    "    - TB6_A18_F：父亲是否居住在家\n",
    "    - TB1Y_A_F：父亲出生年， TB1M_A_F:出生月\n",
    "    - TA4Y_A18_F：父亲去世年份， TA4M_A18_F: 父亲去世月份\n",
    "    - TA401_A18_F：去世原因\n",
    "- 母亲信息\n",
    "    - pid_a_m\n",
    "    \n",
    "    \n",
    "- 子女信息\n",
    "    - pid_a_c1-10：孩子样本编码\n",
    "    - TB2_A_C1-10: 孩子性别\n",
    "    \n",
    "    \n",
    "- 访问形式：iwmode18\n",
    "        \n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 2.2 整体了解一下数据"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 134,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>fid_provcd18</th>\n",
       "      <th>fid_countyid18</th>\n",
       "      <th>fid_cid18</th>\n",
       "      <th>fid_urban18</th>\n",
       "      <th>pid</th>\n",
       "      <th>fid_base</th>\n",
       "      <th>psu</th>\n",
       "      <th>fid10</th>\n",
       "      <th>fid12</th>\n",
       "      <th>fid14</th>\n",
       "      <th>fid16</th>\n",
       "      <th>familysize18</th>\n",
       "      <th>subsample</th>\n",
       "      <th>subpopulation</th>\n",
       "      <th>genetype18</th>\n",
       "      <th>rtype_end18</th>\n",
       "      <th>code_a_p</th>\n",
       "      <th>tb6_a18_p</th>\n",
       "      <th>co_a18_p</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>11.0</td>\n",
       "      <td>45.0</td>\n",
       "      <td>624942.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>100051501.0</td>\n",
       "      <td>110043.0</td>\n",
       "      <td>45.0</td>\n",
       "      <td>-8.0</td>\n",
       "      <td>-8.0</td>\n",
       "      <td>100051.0</td>\n",
       "      <td>100051.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>6.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>501.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>11.0</td>\n",
       "      <td>45.0</td>\n",
       "      <td>624942.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>110043107.0</td>\n",
       "      <td>110043.0</td>\n",
       "      <td>45.0</td>\n",
       "      <td>110043.0</td>\n",
       "      <td>110043.0</td>\n",
       "      <td>100051.0</td>\n",
       "      <td>100051.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>6.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>107.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>11.0</td>\n",
       "      <td>45.0</td>\n",
       "      <td>624942.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>100051502.0</td>\n",
       "      <td>110043.0</td>\n",
       "      <td>45.0</td>\n",
       "      <td>-8.0</td>\n",
       "      <td>-8.0</td>\n",
       "      <td>100051.0</td>\n",
       "      <td>100051.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>6.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>502.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>12.0</td>\n",
       "      <td>79.0</td>\n",
       "      <td>-9.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>100160601.0</td>\n",
       "      <td>120009.0</td>\n",
       "      <td>79.0</td>\n",
       "      <td>-8.0</td>\n",
       "      <td>-8.0</td>\n",
       "      <td>-8.0</td>\n",
       "      <td>-8.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>6.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>601.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>12.0</td>\n",
       "      <td>79.0</td>\n",
       "      <td>-9.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>120009102.0</td>\n",
       "      <td>120009.0</td>\n",
       "      <td>79.0</td>\n",
       "      <td>120009.0</td>\n",
       "      <td>120009.0</td>\n",
       "      <td>100160.0</td>\n",
       "      <td>100160.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>6.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>102.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   fid_provcd18  fid_countyid18  fid_cid18  fid_urban18          pid  \\\n",
       "0          11.0            45.0   624942.0          1.0  100051501.0   \n",
       "1          11.0            45.0   624942.0          1.0  110043107.0   \n",
       "2          11.0            45.0   624942.0          1.0  100051502.0   \n",
       "3          12.0            79.0       -9.0          1.0  100160601.0   \n",
       "4          12.0            79.0       -9.0          1.0  120009102.0   \n",
       "\n",
       "   fid_base   psu     fid10     fid12     fid14     fid16  familysize18  \\\n",
       "0  110043.0  45.0      -8.0      -8.0  100051.0  100051.0           3.0   \n",
       "1  110043.0  45.0  110043.0  110043.0  100051.0  100051.0           3.0   \n",
       "2  110043.0  45.0      -8.0      -8.0  100051.0  100051.0           3.0   \n",
       "3  120009.0  79.0      -8.0      -8.0      -8.0      -8.0           2.0   \n",
       "4  120009.0  79.0  120009.0  120009.0  100160.0  100160.0           2.0   \n",
       "\n",
       "   subsample  subpopulation  genetype18  rtype_end18  code_a_p  tb6_a18_p  \\\n",
       "0        1.0            6.0         0.0          1.0     501.0        1.0   \n",
       "1        1.0            6.0         1.0          1.0     107.0        1.0   \n",
       "2        1.0            6.0         0.0          1.0     502.0        1.0   \n",
       "3        1.0            6.0         0.0          4.0     601.0        1.0   \n",
       "4        1.0            6.0         1.0          1.0     102.0        1.0   \n",
       "\n",
       "   co_a18_p  \n",
       "0       1.0  \n",
       "1       1.0  \n",
       "2       1.0  \n",
       "3       1.0  \n",
       "4       1.0  "
      ]
     },
     "execution_count": 134,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data_famconf.iloc[:,1:20].head(5)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 135,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "fid18              0\n",
       "fid_provcd18       0\n",
       "fid_countyid18     0\n",
       "fid_cid18          0\n",
       "fid_urban18        0\n",
       "                  ..\n",
       "cyear18            0\n",
       "cmonth18           0\n",
       "iwmode18           0\n",
       "interviewerid18    0\n",
       "releaseversion     0\n",
       "Length: 296, dtype: int64"
      ]
     },
     "execution_count": 135,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# check 缺失值； 等具体问题分析再处理数据清洗问题\n",
    "data_famconf.isna().sum()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 136,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "样本量（个人）和字段数量： (58504, 296)\n",
      "家庭数量：  15051\n",
      "家庭平均规模：  3.5294\n",
      "家庭平均规模（不考虑经济独立的回答):  3.8871\n"
     ]
    }
   ],
   "source": [
    "# 数据量\n",
    "print('样本量（个人）和字段数量：', data_famconf.shape) \n",
    "# 家庭数量\n",
    "print('家庭数量： ', data_famconf['fid18'].unique().size)\n",
    "# 平均家庭规模, 若经济独立，则不在一个家庭\n",
    "fam = data_famconf['fid18'].duplicated()\n",
    "fam_num = data_famconf[~fam]['familysize18'].mean() \n",
    "print('家庭平均规模： ' , round(fam_num,4))\n",
    "# 不基于经济独立计算\n",
    "tem = data_famconf['fid18'].groupby(data_famconf['fid18']).count().mean()\n",
    "print('家庭平均规模（不考虑经济独立的回答): ', round(tem,4))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 137,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "基因成员数量： 50016 ;  人问卷完成数量：  42385\n",
      "核心成员数量：  5777 ;  人问卷完成数量：  4125\n"
     ]
    }
   ],
   "source": [
    "# 基因成员数量\n",
    "gene = data_famconf[data_famconf['gene']==1]\n",
    "core = data_famconf[data_famconf['coremember18']==1]\n",
    "print('基因成员数量：', gene['gene'].count(),'; ', '人问卷完成数量： ', gene[gene['cfps2018_interv_p']==1]['gene'].count() )\n",
    "print('核心成员数量： ', core['gene'].count(),'; ', '人问卷完成数量： ', core[core['cfps2018_interv_p']==1]['gene'].count() )"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 以下部分选择基因成员和核心成员进行分析"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 138,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(55793, 296)"
      ]
     },
     "execution_count": 138,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "famconf = data_famconf[(data_famconf['gene']==1) | (data_famconf['coremember18']==1)]\n",
    "famconf.shape"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 2.3 家庭规模分布"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 139,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "家庭数量：  15046\n",
      "家庭平均规模：  3.5298\n",
      "家庭规模分布:\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "3.0     3258\n",
       "2.0     3258\n",
       "4.0     2464\n",
       "1.0     1888\n",
       "5.0     1886\n",
       "6.0     1361\n",
       "7.0      495\n",
       "8.0      198\n",
       "9.0      105\n",
       "10.0      68\n",
       "11.0      26\n",
       "13.0      14\n",
       "12.0      13\n",
       "14.0       7\n",
       "15.0       2\n",
       "17.0       1\n",
       "16.0       1\n",
       "21.0       1\n",
       "Name: familysize18, dtype: int64"
      ]
     },
     "execution_count": 139,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 家庭数量\n",
    "print('家庭数量： ', famconf['fid18'].unique().size)\n",
    "# 平均家庭规模, 若经济独立，则不在一个家庭\n",
    "fam = famconf['fid18'].duplicated()\n",
    "fam_num = famconf[~fam]['familysize18'].mean() \n",
    "print('家庭平均规模： ' , round(fam_num,4))\n",
    "# 家庭规模分布\n",
    "print('家庭规模分布:')\n",
    "famconf[~fam]['familysize18'].value_counts()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 140,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA7AAAAJOCAYAAACOUusfAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/MnkTPAAAACXBIWXMAAAsTAAALEwEAmpwYAAApyElEQVR4nO3df5SWdYH//9fAIEhTAQ4YbEHhtpUtoHPEBDeP1qxte1woIS1/dIrStnJ3o05bu1sLmXOadT2sAsq27PFEP05tpzhFpz21TbY6x4gsRBQdMRvwgBMdzqII48zI3PP5w6/zbRx0hgGcecPjcU7neL/v+76u9zX5PpfPc933dVf19PT0BAAAAEa4UcM9AQAAABgMAQsAAEARBCwAAABFELAAAAAUQcACAABQBAELAABAEQQsANDPPffcM9xTAIB+BCwAJ63vfve7Wbdu3RG/b/v27dmwYcOgXvva1742DzzwwBFtv7m5OZMnT+4ztmHDhixYsCBJ8v73vz9f+cpXXnQbu3fv7v3n+++/P83NzYPe//33359zzz03v/jFLwY/aQB4CQhYAE5amzdvTkNDwxG/b8uWLbnsssvyf//3f71jzzzzTJ5++ul+r92zZ0+mTJmSJPnCF76Q6urqjBs3rvd/1dXV+fu///s+73nuuST5+te/nlmzZmXp0qW56667ctZZZ+UHP/hB/vmf/zmzZs3KypUr++2zo6Mjc+fOzTe+8Y0kyX333ZcPfehDOXTo0KCOb+3atamvr8955503uD8IALxEqnp6enqGexIAcLy96lWvSnd3d8aOHTvga3fv3p2Wlpa84Q1vyFe/+tUsWbKkNyhfSHd3d84+++z8/Oc/T5K0t7dn3LhxecUrXpHHHnssp556am655ZZ0dHRk+fLlve/73Oc+l6qqqnzxi1/sHduyZUve9a53ZceOHenq6kpVVVV++tOf5j//8z/zne98J1dddVXq6+tz5ZVXpru7u9/cVq9enZtuuikPP/xwxo4dm0qlklmzZuXSSy/ts58k+d///d+87W1vy5gxYzJmzJgkydNPP53q6urex8/p6elJV1dX1qxZkw9/+MMD/h0B4FirHu4JAMBL4ZRTTslXv/rVXHDBBRk16vAfQOru7s7o0aNTVVXVG29jxozJBRdckB/+8IcZM2ZM7/P79+/Pk08+mb1796a1tTW/+c1v8pGPfKR3WwsXLsx9992X9vb2vPGNb8wf//Ef593vfnfv8/fff3/e9KY3JUlGjx7dO75y5cr8/ve/z1NPPZVbbrkl8+bNy7nnnptZs2bluuuuS5JcffXVec1rXtMnOp/T1taWZcuWZfXq1b2xPmrUqKxZsyb19fWZNWtWLrvsst7Xv/Wtb83+/ftzyimn5JRTTslHPvKR7NixIz/+8Y/T3d2dUaNGpaqq6mj+9ABwzAhYAE4K06ZNy6mnnpp/+7d/yw033JCxY8dm3759GTNmTGpqatLT05P29vY89dRT+fjHP55TTz01ybNxOWrUqLzzne/Mgw8+mP3796exsTE33XRTdu/enaqqqsyaNSt1dXV5+OGHc+655yZJfvKTnyRJampqsn379kyYMCE33XRTkmdDefbs2bn//vv7zfP+++/P7t2788wzz+SBBx7In/zJn+Q973lPfvWrX+WVr3xln9e2tbVlz549vY97enpyzTXX5Kyzzsp73/vePq+94IIL0tjYmCuuuCL79u3rje3Ro0enpqYmSXLvvffm9ttv772KXFdXly984Qt517vedbR/fgA4JgQsACeF525I9Ja3vCUf+9jHsnz58nzrW9/Kj3/847zxjW9Mkhw6dCh33nlnVq9e3ee9o0ePTlNTU5588snMnj07S5YsyaJFizJhwoS8853vzA033JALL7xwwDk8962dgwcPJknOOOOMfq9Zu3ZtPvvZz+bBBx/MrbfemlNOOSVf//rXs2jRoj7fSa1UKvnkJz/Z572f+cxnsnHjxvzoRz/K3r17+105ff/735/29vZ8/OMfz7e//e187Wtfy7Rp05IkBw4cyHvf+9584AMfyNy5c5MkY8eOHdRHrgHgpeImTgCcNFpbW/OlL30pb3rTm/Lb3/42Tz/9dJ566qkkSWdnZ6688spcdtll2bVrV+97nnrqqd7vmC5btixXXnllXvGKV2Tnzp258847s2/fvmzcuDHf//7388gjjyRJ/uu//isve9nLMm3atBw8eDBvfvObM3HixPz+979P8mzATpo0qfcqb6VS6d3f008/na985Svp7OzMnDlz8uijj+aFblfxh+Pf//73c+utt2bVqlU599xzM2XKlEyePLnf/5qbm/OTn/wk48aNS21tbZKkq6srixcvzvbt27Nu3brU1NSkpqYmv/71r3PppZf2Ph41alR+/etfH6v/OwDgiLkCC8AJ75lnnsmFF16YX/3qV7n88svzox/9KC0tLbnrrruyYMGC/Pu//3v+6Z/+Ka973evym9/8Ji9/+ct737tnz568/OUvz3//93/nlltuyemnn57Ozs7MmDEjO3bsyJNPPpl7772393Wvf/3rc/nll+fyyy/Pnj178trXvrb3J20aGhryzDPPpLW1NTNmzOgzv+fceOONqaury4MPPphPf/rT+Zd/+ZccOnQo3/3ud9PU1NTvuJ6zcOHCPPTQQ3nNa16TxYsXp62tLa997WvzxBNP9H70+JOf/GSeeuqpXHTRRbnooouSPBvol19+ebZu3Zorr7wyEyZM6L0Cfd5552X58uX5i7/4iyTP3gjLFVkAhpOABeCEN2bMmNx888159atfnX379uVzn/tc9uzZk7vuuiuXXHJJPvGJT+SSSy7Jrl27+sRrkvzud7/LzJkz8+d//ufZt29f/vEf/zGvfvWr87d/+7dJkl/+8pf52Mc+dtiPEN99993p6OjIBz/4wXz5y1/OW9/61iTJT3/60zz66KN53/vel0984hO9P2+zefPmrFy5Mt/+9rfzoQ99KB/4wAdy9dVX996o6Xe/+11mz57deyX3+aZPn57k2RtW3XfffXnd617X53uzjz/+eO+No57zve99Ly0tLbnzzjvzjW98I3v37n3Rv2V1tf90AGD4+AgxACe8Q4cO5aGHHsoHP/jBvP3tb8873/nOfPOb38zHP/7xTJgwITNmzMgNN9yQ5ubm3u/KPmfbtm350z/901x00UXp7u7O5s2bc/bZZ+fgwYPp7OxMT09Puru709XVlfb29j7vveWWW/KpT30qDz30UN7+9rfnTW96U97whjfklltuyVVXXZWxY8fmLW95S84///wkydlnn50f/vCHOe2005I8e/fgL3/5y5k1a1bOOuusXHTRRdm/f3/OOuusnHXWWZk9e3aWLl162GP+6le/mksvvbTP2O7du/Oa17ymz9jVV1+dhx56KK9//euP6m8MAC8FAQvACa+6ujotLS15+9vfnm3btqWjoyMXXHBBrrnmmqxcuTK7d+/OK1/5yixfvjzvfve7c9dddyV59vuoGzduzHnnnZf58+fn7/7u77Jjx4709PTkla98ZSZOnJj77rsvf/VXf5VXvOIVvTc/SpL169dn+/btuf766/Ozn/0sEydOzIMPPpiLL74473nPe3L22Wf3vvanP/1pHn744VRVVfW5UVOSfOQjH8mWLVvyq1/9KtOnT88Xv/jFtLe358tf/nK2bNmSG2+8sd/xfu1rX8v//M//5DOf+Uyf8d27d+fVr351v9c/97Hg564EP99vf/vbbNiwIU888URe9rKXDfKvDgDHnoAF4KTw13/91+no6MicOXPyi1/8Ihs3bszll1+ehx9+OOPHj0+SXHfddXnf+96XCy+8MI2Njfna176WN7zhDZk+fXquueaafOc738nEiROze/fu/PKXv8xDDz2URx99NK2trXn00Uezfv36PP3009m2bVuuvfba3HLLLRk/fnzGjBmTxYsXZ/HixTn//PNz6623pqqqKvv27UuSrF69Ot/85jd759rT09N7g6bq6ur8/Oc/z9ve9ra88Y1vzKc//emsW7cuCxYsyJo1a/ocY3t7e66//vp89KMfzXe/+91Mnjw5SbJly5Z861vfyo4dO/p9hPgP/eF3apNnb+703M/5XHnllbn66qsPG8AA8FLxRRYATnj79+/Pn/3Zn+XNb35zNmzYkLPPPjtbtmzJhRdemMceeyy3335772tXrFiR8847L/X19bn22mvzqU99Kt///vfzgQ98IP/6r/+aiy++OOvWrctXvvKV7Ny5M08++WQ6OjrS3d2d0047Lb/97W+za9euvO9978tll12WJGlsbMzatWvzH//xH3n3u9+dJJk7d24+85nPpLa2NuPHj+/z0z2dnZ3p7OxMpVJJfX199u7dmxtuuCELFixIksybNy933HFHlixZkh/84Af50Y9+lM7OzsybNy9VVVX52c9+1udq8KpVq7J169asWrWq30eI/9CXvvSlPo+fm8ell16a/fv39/tZHgB4qVX1vNC9+QHgBHLgwIHU1NT0Pq5UKlm7dm0uueSS/NEf/dFh31OpVFJVVZWqqqr87ne/y6te9aoh77+jo6P353iOxMGDB1/0Y7vt7e29V5D37NmT2trajB49esjzBICRTMACAABQBN+BBQAAoAgCFgAAgCKMqJs4Pf7440e9jdra2gF/hB1OJtYE9GVNQF/WBPRnXQyvadOmveBzrsACAABQBAELAABAEQQsAAAARRCwAAAAFEHAAgAAUAQBCwAAQBEELAAAAEUQsAAAABRBwAIAAFAEAQsAAEARBCwAAABFELAAAAAUQcACAABQBAELAABAEQQsAAAARRCwAAAAFEHAAgAAUAQBCwAAQBEELAAAAEUQsAAAABRBwAIAAFAEAQsAAEARBCwAAABFELAAAAAUoXq4J8Cx033NgmHb9+i1G170+eGcWzLw/AAAgJHPFVgAAACKIGABAAAogoAFAACgCAIWAACAIghYAAAAiiBgAQAAKIKABQAAoAgCFgAAgCIIWAAAAIogYAEAACiCgAUAAKAIAhYAAIAiCFgAAACKIGABAAAogoAFAACgCAIWAACAIghYAAAAiiBgAQAAKIKABQAAoAgCFgAAgCIIWAAAAIogYAEAACiCgAUAAKAIAhYAAIAiCFgAAACKIGABAAAogoAFAACgCAIWAACAIghYAAAAiiBgAQAAKIKABQAAoAgCFgAAgCIIWAAAAIogYAEAACiCgAUAAKAIAhYAAIAiCFgAAACKMKiAPXDgQLZu3Zr9+/cf7/kAAADAYVUP9IIDBw6ksbExdXV1WbduXZYtW5ZvfOMb2bVrV+rq6rJo0aIkyZo1awY1BgAAAEMx4BXYxx57LO9///tz6aWXZs6cOXnggQdSqVTS0NCQPXv2pK2tLZs2bRrUGAAAAAzVgFdgzzzzzCTJgw8+mEcffTQHDhzIvHnzkiRz5sxJS0tLWltbBzU2derUPttuampKU1NTkqSxsTG1tbVHf0DV1cdkOyXaM4z7HuhvPpxzSwae34nsZF4TcDjWBPRlTUB/1sXINWDAJklPT09+/vOf52Uve1mqqqoyadKkJElNTU1aW1vT2dk5qLHnq6+vT319fe/jvXv3HvUB1dbWHpPtcGRG+t98pM/veLImoC9rAvqyJqA/62J4TZs27QWfG9RNnKqqqvLhD38406dPz/bt29PV1ZUk6ejoSKVSybhx4wY1BgAAAEM1YMB+73vfy5133pkkaW9vz8KFC9PS0pIk2blzZ6ZMmZKZM2cOagwAAACGasCAra+vz1133ZVly5alUqnk3HPPTXNzc9atW5eNGzemrq4uc+fOHdQYAAAADFVVT09Pz5G+6bnfhT3zzDMzYcKEIxp7MY8//viRTqWfk/nz6t3XLBi2fY9eu+FFnx/OuSUDz+9EdjKvCTgcawL6siagP+tieL3Yd2AHdROn56upqcn8+fOHNAYAAABDMaibOAEAAMBwE7AAAAAUQcACAABQBAELAABAEQQsAAAARRCwAAAAFEHAAgAAUAQBCwAAQBEELAAAAEUQsAAAABRBwAIAAFAEAQsAAEARBCwAAABFELAAAAAUQcACAABQBAELAABAEQQsAAAARRCwAAAAFEHAAgAAUAQBCwAAQBEELAAAAEUQsAAAABRBwAIAAFAEAQsAAEARBCwAAABFELAAAAAUQcACAABQBAELAABAEQQsAAAARRCwAAAAFEHAAgAAUAQBCwAAQBEELAAAAEUQsAAAABRBwAIAAFAEAQsAAEARBCwAAABFELAAAAAUQcACAABQBAELAABAEQQsAAAARRCwAAAAFEHAAgAAUAQBCwAAQBEELAAAAEUQsAAAABRBwAIAAFAEAQsAAEARBCwAAABFELAAAAAUQcACAABQBAELAABAEQQsAAAARRCwAAAAFEHAAgAAUAQBCwAAQBEELAAAAEUQsAAAABRBwAIAAFAEAQsAAEARBCwAAABFELAAAAAUQcACAABQBAELAABAEQQsAAAARRCwAAAAFEHAAgAAUAQBCwAAQBEELAAAAEUQsAAAABSheqAXtLe35+abb06lUsnYsWOzdOnS/M3f/E1OP/30JMmSJUsyffr0rFmzJrt27UpdXV0WLVqUJIcdAwAAgKEYMGCbm5tzySWXZPbs2Vm7dm2+973v5fzzz89VV13V+5pNmzalUqmkoaEht912W9ra2vLYY4/1G5s6depxPRgAAABOXAMG7Dve8Y7ef96/f39OO+20bN68Odu2bcv06dNz7bXXZtu2bZk3b16SZM6cOWlpaUlra2u/MQELAADAUA0YsM/Zvn17Dh48mNmzZ+eiiy7KxIkTs3r16tx7773p7OzMpEmTkiQ1NTVpbW097NjzNTU1pampKUnS2NiY2traoz+g6upjsp0S7RnGfQ/0Nx/OuSUDz+9EdjKvCTgcawL6siagP+ti5BpUwB44cCC33357PvWpT2XChAkZM2ZMkmTmzJlpa2vLuHHj0tXVlSTp6OhIpVI57Njz1dfXp76+vvfx3r17j/qAamtrj8l2ODIj/W8+0ud3PFkT0Jc1AX1ZE9CfdTG8pk2b9oLPDXgX4kOHDmXFihW54oorMnny5KxatSo7duxIpVLJPffckxkzZmTmzJlpaWlJkuzcuTNTpkw57BgAAAAM1YBXYO+44460trZm/fr1Wb9+fd785jdn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Yjue5wkokTUB/VkXI9cRB+wZZ5yRz3/+85k4cWJWr16dBx54IPX19UmSmpqatLa2prOzM5MmTeozdjj19fW9702SvXv3DuUY+qitrT0m2xmJRvJxjeS5JSN7fiN5bsnInt9Ac+u+ZsFLNJPDG712w7Dun8M7kc8TMBTWBPRnXQyvadOmveBzR/wR4hkzZmTixIlJkpkzZ+app55KV1dXkqSjoyOVSiXjxo3rNwYAAABH44gDdtWqVdmxY0cqlUruueeefOhDH0pLS0uSZ78fO2XKlMycObPfGAAAAByNI/4I8eLFi7Ny5cr09PTknHPOydy5c7Ns2bLs27cvW7ZsSUNDQ5IcdgwAAACG6ogDdvr06bnpppv6jC1btixbt27NwoULM378+BccAwAAgKE64oA9nJqamsyfP3/AMQAAABiqI/4OLAAAAAwHAQsAAEARBCwAAABFELAAAAAUQcACAABQBAELAABAEQQsAAAARRCwAAAAFEHAAgAAUAQBCwAAQBEELAAAAEUQsAAAABRBwAIAAFAEAQsAAEARBCwAAABFELAAAAAUQcACAABQBAELAABAEQQsAAAARRCwAAAAFEHAAgAAUAQBCwAAQBEELAAAAEUQsAAAABRBwAIAAFAEAQsAAEARBCwAAABFELAAAAAUQcACAABQBAELAABAEQQsAAAARRCwAAAAFEHAAgAAUAQBCwAAQBEELAAAAEUQsAAAABRBwAIAAFAEAQsAAEARBCwAAABFELAAAAAUQcACAABQhOrhngDAyaj7mgXDuv/RazcM6/4BAIbCFVgAAACKIGABAAAogoAFAACgCAIWAACAIghYAAAAiiBgAQAAKIKABQAAoAgCFgAAgCIIWAAAAIogYAEAACiCgAUAAKAIAhYAAIAiCFgAAACKIGABAAAoQvVwTwCAkaf7mgXDtu/RazcM274BgJHNFVgAAACKIGABAAAogoAFAACgCAIWAACAIghYAAAAiuAuxAAU5WjvkLznKPfvLskAMHxcgQUAAKAIAhYAAIAiCFgAAACKIGABAAAogoAFAACgCAIWAACAIvgZHQA4ho72Z36Ohp/4AeBE5wosAAAARTjuV2DXrFmTXbt2pa6uLosWLTreuwMAXsBwXh1OBr5C7Oo1AAM5rgG7adOmVCqVNDQ05LbbbktbW1umTp16PHcJAHDMncjxv2fI73yW+AdeSlU9PT09x2vjt99+e84666zU1dXl7rvvTldXVy666KLe55uamtLU1JQkaWxsPF7TAAAA4ARwXL8D29nZmUmTJiVJampq8uSTT/Z5vr6+Po2Njcc0Xj/72c8es23BicCagL6sCejLmoD+rIuR67gG7Lhx49LV1ZUk6ejoSKVSOZ67AwAA4AR2XAN25syZaWlpSZLs3LkzU6ZMOZ67AwAA4AR2XAN27ty5aW5uzrp167Jx48bU1dUdz90lefZjycD/z5qAvqwJ6MuagP6si5HruN7EKUkOHDiQrVu35swzz8yECROO564AAAA4gR33gAUAAIBj4bh+hBgAAACOlerhnsCxsmbNmuzatSt1dXVZtGjRcE8Hhl13d3euu+66nH766UmSJUuWZPr06cM8KxgeTzzxRFasWJHrr78+iXMG/OGacL7gZNfe3p6bb745lUolY8eOzdKlS7N27VrniRHqhAjYTZs2pVKppKGhIbfddlva2toyderU4Z4WDKudO3fm/PPPz1VXXTXcU4FhdeDAgdx6663p7OxM4pwBz18Tzhec7Jqbm3PJJZdk9uzZWbt2be6++27niRHshPgI8bZt2zJv3rwkyZw5c3p/ugdOZo888kg2b96cf/iHf8iaNWvS3d093FOCYTFq1KgsXbo0p556ahLnDHj+mnC+4GT3jne8I7Nnz06S7N+/P83Nzc4TI9gJEbCdnZ2ZNGlSkqSmpiZPPvnkMM8Iht8ZZ5yRz3/+8/nSl76U7u7u3HvvvcM9JRgW48ePz/jx43sfO2dwsnv+mnC+gGdt3749Bw8ezGmnneY8MYKdEAE7bty4dHV1JUk6OjpSqVSGeUYw/GbMmJGJEycmSWbOnJm2trZhnhGMDM4Z0JfzBTz70frbb789H/3oR50nRrgTImBnzpzZe2l/586dmTJlyjDPCIbfqlWrsmPHjlQqldxzzz2ZMWPGcE8JRgTnDOjL+YKT3aFDh7JixYpcccUVmTx5svPECHdC3MRp7ty5WbZsWfbt25ctW7akoaFhuKcEw27x4sVZuXJlenp6cs455/R+twNOds4Z0JfzBSe7O+64I62trVm/fn3Wr1+fCy+8MM3Nzc4TI1RVT09Pz3BP4lg4cOBAtm7dmjPPPDMTJkwY7ukAMII5ZwDwYpwnRq4TJmABAAA4sZ0Q34EFAADgxCdgAQAAKIKABQAAoAgCFgAAgCIIWAAAAIrw/wD0pU9ilUhn7AAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<Figure size 1164.96x720 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import matplotlib as mpl\n",
    "# 设置字体\n",
    "mpl.rcParams['font.sans-serif'] = ['SimHei']\n",
    "# 设置风格\n",
    "plt.style.use('ggplot')\n",
    "a = famconf[~fam]['familysize18'].value_counts()\n",
    "plt.figure(figsize=(16.18,10))\n",
    "plt.bar(a.index, a.values)\n",
    "plt.title('家庭规模分布')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 2.4 年龄分布"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 141,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "count    55793.000000\n",
      "mean         6.394619\n",
      "std          3.949687\n",
      "min         -9.000000\n",
      "25%          3.000000\n",
      "50%          7.000000\n",
      "75%         10.000000\n",
      "max         12.000000\n",
      "Name: tb1m_a_p, dtype: float64\n",
      "count    55793.000000\n",
      "mean      1972.925618\n",
      "std        116.467357\n",
      "min         -9.000000\n",
      "25%       1963.000000\n",
      "50%       1981.000000\n",
      "75%       1996.000000\n",
      "max       2018.000000\n",
      "Name: tb1y_a_p, dtype: float64\n"
     ]
    }
   ],
   "source": [
    "# check data\n",
    "print(famconf['tb1m_a_p'].describe())  # 月份\n",
    "print(famconf['tb1y_a_p'].describe())  # 年份\n",
    "# -9 为缺失值"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 142,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "月缺失数据： 877\n",
      "年缺失数据：  180\n",
      "年缺失数据：  5\n"
     ]
    }
   ],
   "source": [
    "print('月缺失数据：', famconf[famconf['tb1m_a_p']==-9].shape[0])\n",
    "print('年缺失数据： ',famconf[famconf['tb1y_a_p']==-9].shape[0])\n",
    "print('年缺失数据： ',famconf[famconf['tb1y_a_p']==-1].shape[0])  # check codebook, 年份有 -1（不知道）， -9\n",
    "# 处理方法，剔除年缺失数据，月缺失数据补充月份为 6 "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 143,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      " 10.0    5503\n",
      " 9.0     4889\n",
      " 8.0     4762\n",
      " 11.0    4645\n",
      " 12.0    4617\n",
      " 3.0     4529\n",
      " 2.0     4448\n",
      " 1.0     4430\n",
      " 7.0     4357\n",
      " 5.0     4322\n",
      " 4.0     4232\n",
      " 6.0     4182\n",
      "-9.0      877\n",
      "Name: tb1m_a_p, dtype: int64\n"
     ]
    }
   ],
   "source": [
    "# famconf.loc[:,['tb1y_a_p','tb1m_a_p']]\n",
    "print(famconf['tb1m_a_p'].value_counts())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 144,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Temp\\Temp/ipykernel_11660/3948555465.py:14: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame.\n",
      "Try using .loc[row_indexer,col_indexer] = value instead\n",
      "\n",
      "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
      "  famconf['birthday']=famconf[['tb1y_a_p','tb1m_a_p']].apply(combine_date,axis=1)\n",
      "C:\\Temp\\Temp/ipykernel_11660/3948555465.py:15: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame.\n",
      "Try using .loc[row_indexer,col_indexer] = value instead\n",
      "\n",
      "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
      "  famconf['visitday']=famconf[['cyear18','cmonth18']].apply(combine_date,axis =1)\n"
     ]
    }
   ],
   "source": [
    "# 出生年、月：tb1y_a_p, tb1m_a_p ;  调查年、月：cyear18, cmonth18  用于计算访问时的年龄\n",
    "# 1. 合并年月\n",
    "def combine_date(x):\n",
    "#     print(x[0])\n",
    "#     print(x[1])\n",
    "#    print(str(x[0]).split('.')[0]+str(x[1]).split('.')[0])\n",
    "    if (x[0] == -9) | (x[0] == -1):  # 剔除年份缺失数据\n",
    "        return None\n",
    "    else:\n",
    "        if x[1] == -9:  # 月份缺失数据填 6 月\n",
    "            return str(x[0]).split('.')[0]+'6'\n",
    "        return str(x[0]).split('.')[0]+str(x[1]).split('.')[0]\n",
    "\n",
    "famconf['birthday']=famconf[['tb1y_a_p','tb1m_a_p']].apply(combine_date,axis=1)\n",
    "famconf['visitday']=famconf[['cyear18','cmonth18']].apply(combine_date,axis =1)\n",
    "    "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 145,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "19876     141\n",
      "19634     136\n",
      "198810    130\n",
      "19902     127\n",
      "198910    127\n",
      "         ... \n",
      "19264       1\n",
      "19187       1\n",
      "19221       1\n",
      "19178       1\n",
      "192012      1\n",
      "Name: birthday, Length: 1175, dtype: int64\n"
     ]
    }
   ],
   "source": [
    "# famconf.loc[:,['birthday']]\n",
    "print(famconf['birthday'].value_counts())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 146,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Temp\\Temp/ipykernel_11660/3756169929.py:2: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame.\n",
      "Try using .loc[row_indexer,col_indexer] = value instead\n",
      "\n",
      "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
      "  famconf['birthday_dt']=pd.to_datetime(famconf['birthday'],format='%Y%m')\n",
      "C:\\Temp\\Temp/ipykernel_11660/3756169929.py:3: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame.\n",
      "Try using .loc[row_indexer,col_indexer] = value instead\n",
      "\n",
      "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
      "  famconf['visitday_dt']=pd.to_datetime(famconf['visitday'],format='%Y%m')\n"
     ]
    }
   ],
   "source": [
    "# 2. 转换为 datetime 格式\n",
    "famconf['birthday_dt']=pd.to_datetime(famconf['birthday'],format='%Y%m')\n",
    "famconf['visitday_dt']=pd.to_datetime(famconf['visitday'],format='%Y%m')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 147,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Temp\\Temp/ipykernel_11660/3244559220.py:2: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame.\n",
      "Try using .loc[row_indexer,col_indexer] = value instead\n",
      "\n",
      "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
      "  famconf['age']=(famconf['visitday_dt']-famconf['birthday_dt']).dt.days/365\n"
     ]
    }
   ],
   "source": [
    "# 计算年龄 用调查时间 - 出生日期\n",
    "famconf['age']=(famconf['visitday_dt']-famconf['birthday_dt']).dt.days/365 "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 148,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "Text(0.5, 1.0, '年龄分布')"
      ]
     },
     "execution_count": 148,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAX0AAAEICAYAAACzliQjAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/MnkTPAAAACXBIWXMAAAsTAAALEwEAmpwYAAAW0klEQVR4nO3df0xV9/3H8RcKgnA1t3C19Uq3lj8ah1tRIjNQu3XuVut01Q67LG5maTZ/tFljNZvpEjupGd2d64xZfzB/zIa6LemMP5NvrNutW0RlpN8aRK23ar1iEQriQHZB7vVyz/ePpvdbWlS4wAXO5/lITLzvc885n/f98eLw4dxzkyzLsgQAMMKooR4AACBxCH0AMAihDwAGIfQBwCCEPgAYhNAH7qCtrU2JOMmturpa4XB40PcDsxH6sCXLsvTggw/qN7/5TZ/Wmz59uk6cONGt5vV6tXjx4juu29TUpJs3b0qSGhsbtXv37l7vt6urS3PmzNGmTZv6NF6grwh92NKOHTv0wQcf6Hvf+94d79vV1aV33nlHkjRmzBiNHz++2/LKykqdPXtWkUjktttZsWKFnnnmGUlSR0eHli5dqg8//LDH+37+N4f9+/crEonoZz/72R3HC/RHEh/Ogt00Njbqa1/7mkKhkCZNmiRJsWmTMWPGyLIstbe3Kzk5WZcuXVI4HFZ2draamppUVFSk69evKxQK6cKFC7p8+bKmTp2qOXPmaObMmVq7dm2P+zx16pTy8/NVXV2tqVOnSpJWrlwpv9+vw4cPa9So7sdXSUlJSklJ0ZgxY2Lji0ajSktL63Y/y7IUiUT0/e9/Xzt37hzQxwmGsgAb6erqsh599FHrq1/9qtXR0RGrr1q1ylq1alWP60SjUcvtdluWZVlFRUVWIBCILVuzZo21cuVK6+OPP7bcbrfl8/l63OdDDz1kLV++vFu9ubnZuvvuu61nn332C+u0tbVZnZ2dVjQatf76179aWVlZVltbm9XV1WV1dXXF0TnQO8lD/UMHGEgrVqxQZWWl/v3vf2vs2LG9WqekpEQdHR169dVX9fHHH6u8vFwOh0MLFy7Un/70J1VVVSkcDqu8vFzFxcX6/e9/r5/85Cex9V9++WWdP39e+/bt67bdrKws7dq1S/PmzdONGzf0hz/8ITamcePGSZKCwaCef/55/fKXv9S4ceO0atUqJSUlafPmzQPyeACfx/QObCMSiehvf/ubxo8fr/Lycr333nux6ZOmpiZJnwTxzZs3FQwGtX37di1atEhvvPGGUlNTlZSUpKtXryorK0uhUEh//OMftXjxYt1///3auHGjqqqq5PP5tHnzZr311lsaN26cDhw4oCeffFJbtmzR/PnzlZSU9IVxHTt2TE899ZTuuusuvfnmm3rooYdiy5YsWaKTJ0+qurpaKSkpWrt2rZKSkvTb3/42MQ8azDPUv2oAg2HevHnWG2+8Ebt9u+mdAwcOWFu3brWuXLli3X333dbNmzetZ5991jp+/LgVjUataDRqPfXUU1Z9fX239a5cuWJlZGRYmzdvtr785S9bknr8l5qaagUCAevb3/52t6mjkpISS5I1atQoKyMjw8rIyLBSUlKslJSU2O3k5GTr5ZdfHoRHCKbi7B3Y0ujRo3t938uXL+vDDz9UVVWVpk6dquTkZJWXlys9PV2PPPKIHn30UV2+fFlLly7VvHnz1NLSIklyu916//33tWrVKn3wwQfq6urS/fffr/3798uyLFmWpf379+vee+/VfffdJ5/Pp/vuu0+WZelXv/qVfv3rX+u5557TV77yFQWDQQWDQa1Zs0Zr1qyJ3S4uLlZqaupgPUwwEHP6sI2uri5FIhElJyd/4WyZnty8eVPRaFSjRo3SmDFjtHfvXl28eFH//Oc/NXbsWE2ZMkV79uyJ/QB55plnNGHCBN11112xbXzpS1+SJKWmpqqlpUW1tbWaNm1abHl9fb2ys7O77ff999/X1q1btXv3bo0fP17/+Mc/bjvO5GTephg4vJpgG2+//bZWrFihMWPGKCUlRV6vV16vV9L/z+m//fbbsftHIhEVFBTom9/8purq6nT06FHt3LlTL7zwgkaPHq3U1FTt3btXhYWF+s9//qN33nlHfr//lvv/y1/+ounTp8d+EEjSlStXdO+993a739SpU1VbW6vU1FT961//GsBHALgzQh+2MX/+fNXV1fW47LnnnpOkHs+Kef3119XS0qIXXnhBs2bN0p///Gd9/etfjy3/xje+IZfLpQ0bNnQ7yv+sU6dOad26dXrrrbe61a9cufKFI31JsSmbW33g69q1azp58qTOnDmj+fPn93gfIB6EPozQ1dV1y2WRSERtbW06efKkFi9erLq6Ol2/fl2S9IMf/EAZGRl68sknNXPm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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "famconf['age'].hist()\n",
    "plt.title('年龄分布')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 149,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Temp\\Temp/ipykernel_11660/2414485417.py:4: SettingWithCopyWarning: \n",
      "A value is trying to be set on a copy of a slice from a DataFrame.\n",
      "Try using .loc[row_indexer,col_indexer] = value instead\n",
      "\n",
      "See the caveats in the documentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/indexing.html#returning-a-view-versus-a-copy\n",
      "  famconf['age_segment']= age_seg.values\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "23-45    18862\n",
       "60+      11307\n",
       "0-16     10789\n",
       "46-60    10666\n",
       "16-22     3984\n",
       "Name: age_segment, dtype: int64"
      ]
     },
     "execution_count": 149,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 年龄分段\n",
    "age_cut = [-1, 16, 23,46,60,120]\n",
    "age_seg = pd.cut(famconf['age'],bins = age_cut,labels=['0-16','16-22','23-45','46-60','60+'])\n",
    "famconf['age_segment']= age_seg.values\n",
    "a = famconf['age_segment'].value_counts()\n",
    "a"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 150,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA7UAAAJOCAYAAABoeyBbAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/MnkTPAAAACXBIWXMAAAsTAAALEwEAmpwYAAAqfUlEQVR4nO3df3TWZ33/8Vdo+FGa9gBNYTAMNT32THCgOXQO2HS6jOraWVewZ+upOxv9ocfVo1jn9EwEe5YtMsd6KC1qKzvVeY5uK9bueFY1dj862yGORjQaW9sQlhLpUGhNI0nDne8fHvMtECCEQnLRx+Ov3td938l1c79Pcz/zuT93qgYHBwcDAAAABZow1hsAAACA0RK1AAAAFEvUAgAAUCxRCwAAQLFELQAAAMUStQAwTjz77LM5E3+UoLW1Nf39/af9+wDAmSBqAeAUDA4OZuHChfnrv/7rk7rfa17zmuzYseOwtebm5qxcufKE93366afz/PPPJ0n27t2be++9d8Tf99ChQ1m+fHk2bNhwUvsFgPFK1ALAKdiyZUt+8IMf5Oqrrz7hbQ8dOpSvf/3rSZJJkyblggsuOOz6Rx55JN///vczMDBw3K/zjne8I+9617uSJL29vXn729+eJ554YtjbHnnk90tf+lIGBgZy8803n3C/AFCCqsEz8T4nADgL7d27N7/6q7+avr6+zJ49O0mG3tY7adKkDA4O5rnnnkt1dXV27dqV/v7+zJ07N08//XSWLl2aZ555Jn19ffnhD3+Y3bt3Z8GCBVm+fHle+9rX5gMf+MCw3/M73/lOGhoa0tramgULFiRJ3vnOd6a9vT0PPvhgJkw4/PfVVVVVmThxYiZNmjS0v0qlkilTphx2u8HBwQwMDOSaa67JZz/72Rf13wkATidRCwCjUKlU8qY3vSnd3d355je/mXPPPTdJ8t73vjdJcttttx11n8HBwcydOzdPPfVUli1bls997nO5+OKLkyS33HJLent7s27dujQ0NOQzn/lMfvu3f/uo7/m6170uCxYsyCc/+cmh9R//+MdZsGBBrrnmmmzcuPGw+/z0pz/NpEmTMmnSpHz+85/Pu9/97nR0dOS8885LkqMiGABKUz3WGwCAEr3jHe/II488kv/+7/8eCtoTWbduXXp7e7Np06b86Ec/yj333JOamppcddVV+fSnP51t27alv78/99xzT1asWJG//du/zfXXXz90/49//ON5/PHHc9999x32dS+88ML80z/9U9785jfnZz/7WTZu3Di0p/PPPz9J0tPTkw9+8IP50Ic+lPPPPz/vec97UlVVNWx8A0BJHKkFgJM0MDCQf/zHf8wFF1yQe+65J//zP/8z9Pbep59+OsnPQ/P5559PT09P7r777rz1rW/N3//932fy5MmpqqrK//3f/+XCCy9MX19fPvGJT2TlypV5+ctfnvXr12fbtm1paWnJbbfdli984Qs5//zzc//99+dtb3tbPvnJT+aKK65IVVXVUfv6xje+kT/5kz/J9OnT85nPfCbLli0buu7aa6/Nt7/97bS2tmbixIn5wAc+kKqqqnzsYx87M/9oAHCaiFoAOAW/+7u/m2uuuSZ//Md/nOT4bz/+l3/5l/zoRz/KFVdckYaGhnR1deV973tf/vAP/zC//uu/niS5/vrr09TUNHSObpLs2bMnl156aZqamvJ3f/d36ezsHHYvkydPTnt7e2644YbcfffdQ29t/uhHP5p169ZlwoQJQ0dwX3jub5L09fWlubk5t9xyy6n+kwDAGeVEGgA4Beecc86Ib7t79+488cQT2bZtWxYsWJDq6urcc889mTp1an7rt34rv/M7v5Pdu3fn7W9/e9785jdn//79SZI5c+bke9/7Xt7znvfkBz/4QQ4dOpSXv/zl+dKXvpTBwcEMDg7mS1/6Ul72spfl4osvTktLSy6++OIMDg7mIx/5SP7yL/8y733ve/PKV74yPT096enpyfve9768733vG7q8YsWKTJ48+XT9MwHAaeOcWgA4SYcOHcrAwECqq6tH9EFLzz//fCqVSiZMmJBJkybli1/8Yp588sn827/9W84999z8yq/8SrZu3ToUyO9617ty0UUXZfr06UNfo66uLsnPj8bu378/nZ2defWrXz10/Z49ezJ37tzDvu/3vve9fOpTn8q9996bCy64IF/72teOu8/qai8LACiPn14AcJIeeOCBvOMd78ikSZMyceLENDc3p7m5Ocn/P6f2gQceGLr9wMBALrvssrz+9a9PV1dX/uu//iuf/exns2bNmpxzzjmZPHlyvvjFL2bJkiX5yU9+kq9//etpb28/5vf/3Oc+l9e85jVDoZskTz31VF72spcddrsFCxaks7MzkydPzr//+7+/iP8CADB+iFoAOElXXHFFurq6hr3ueOfU3nnnndm/f3/WrFmT3/iN38g//MM/5Nd+7deGrn/d616X2tra3HrrrYcdpX2h73znO/nwhz+cL3zhC4etP/XUU0cdqU0y9JbigYGBYb/ej3/843z7299OW1tbrrjiimFvAwDjmagFgBfRoUOHjnndwMBAnn322Xz729/OypUr09XVlWeeeSZJ8gd/8Ac577zz8ra3vS2vfe1rj7rv4OBg7r333txwww35sz/7s1x++eVJkh/+8Ifp6urKV7/61eN+kvHzzz9/2OX+/v5UVVWlqqoqV155ZV772tfmTW9602geMgCMKVELAC+in/3sZ8f88Kg3vOENmTt3bubOnZs5c+aktrY2v/zLvzx0/e/93u/lM5/5TN7+9rdnx44dmThx4tB173znO/PFL34xmzZtynXXXTe0/tBDD6W5uTkrVqzIihUrjrmvN73pTVm+fPnQ5b6+vlRVVWXGjBn56U9/elIfeAUA44k/6QMA48zBgwczZcqUw9Z6e3vT39+fadOmjc2mAGCcErUAAAAUy9+pBQAAoFiiFgAAgGKJWgAAAIo17j/9eM+ePWO9BU5SbW1t9u3bN9bbgBMyq5TCrFIKs0opzGp55syZc8zrHKkFAACgWKIWAACAYolaAAAAiiVqAQAAKJaoBQAAoFiiFgAAgGKJWgAAAIolagEAACiWqAUAAKBYohYAAIBiiVoAAACKJWoBAAAolqgFAACgWKIWAACAYolaAAAAiiVqAQAAKJaoBQAAoFiiFgAAgGKJWgAAAIolagEAACiWqAUAAKBYohYAAIBiiVoAAACKJWoBAAAoVvVYb6B0h258y1hvYdzZO9YbGGfOuev+sd4CAACctRypBQAAoFiiFgAAgGKJWgAAAIolagEAACiWqAUAAKBYohYAAIBiiVoAAACKJWoBAAAolqgFAACgWKIWAACAYolaAAAAiiVqAQAAKJaoBQAAoFiiFgAAgGKJWgAAAIolagEAACiWqAUAAKBYohYAAIBiiVoAAACKJWoBAAAolqgFAACgWKIWAACAYolaAAAAiiVqAQAAKJaoBQAAoFiiFgAAgGKJWgAAAIolagEAACiWqAUAAKBYohYAAIBiiVoAAACKJWoBAAAolqgFAACgWKIWAACAYlWP5EYHDhzIhg0bcuutt+arX/1qHn744STJc889l1e8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ErUAAAAUS9QCAABQLFELAABAsUQtAAAAxRK1AAAAFEvUAgAAUCxRCwAAQLFELQAAAMUStQAAABRL1AIAAFAsUQsAAECxRC0AAADFErUAAAAUS9QCAABQLFELAABAsUQtAAAAxRK1AAAAFEvUAgAAUCxRCwAAQLFELQAAAMUStQAAABRL1AIAAFAsUQsAAECxRC0AAADFErUAAAAUS9QCAABQLFELAABAsUQtAAAAxRK1AAAAFEvUAgAAUCxRCwAAQLFELQAAAMUStQAAABRL1AIAAFAsUQsAAECxRC0AAADFErUAAAAUS9QCAABQrOqx+KabN29OV1dXGhoasmLFirHYAgAAAGeBM36kdtu2balUKmlqasrevXvT3d19prcAAADAWaJqcHBw8Ex+wy1btuTVr351Ghoa8o1vfCP9/f15wxveMHR9S0tLWlpakiTNzc1ncmsAAAAU5owfqe3r68uMGTOSJDU1NXnmmWcOu76xsTHNzc2CtmAf/OAHx3oLMCJmlVKYVUphVimFWT27nPGonTJlSvr7+5MkBw8eTKVSOdNbAAAA4CxxxqO2vr4+7e3tSZLOzs7MnDnzTG8BAACAs8QZj9rLLrssDz30UO6555488sgjaWhoONNb4DRrbGwc6y3AiJhVSmFWKYVZpRRm9exyxj8oKkl6enqyc+fOzJ8/P9OmTTvT3x4AAICzxJhELWXr6enJk08+mYsvvjgXXHDBWG8HAAB4CRO1HFdvb29uu+22VCqVTJ48OTfeeGM+/vGPD/1JprVr1x43bA8cOJC/+qu/yvr163Po0KHcfPPNmTVrVpJk1apVqaurO1MPBQCAs9iBAweyYcOG3HrrrUNrd999d1796ldn8eLFw97nyNe6q1evTn9//1Fr1dXVZ+phMApn/JxayvLQQw/lyiuvzIc//OFMmzYtX/va1/JHf/RHufrqq7No0aI8+eSTx73/Zz/72aFPu+7s7MyyZcuybt26rFu3TtByRt1999351re+lSTZvHlz/uIv/iL33nvvYbe54447xmJrvMQdax5f6MCBA/nIRz5y1PoL5xpOlwMHDuQDH/jA0OWRzt2RtxvJrMNo9fT05I477khfX9/Q2ve///0cOHDgmEGbHP1at7W1ddg1xjdRy3FdfvnlWbhwYZLk2WefzaJFi3LppZfme9/7Xp544olceumlx7zvd7/73UyePHnovOnHH388O3bsyIc+9KFs3rw5hw4dOhMPAQ77obZt27ZUKpU0NTVl79696e7uHuvt8RI2knkc7oVaMrIXa/BieOEvqEc6d0fezv97Od0mTJiQ1atX59xzz02SDAwM5JOf/GQuuuiibN++/Zj3O/K17gUXXDDsGuOb4+iMyGOPPZbnnnsul156aQYHB/Pwww/nvPPOS3V1dT71qU9lz549Q7d91atelbe+9a2599578/73vz9/8zd/kyS55JJLsmbNmkyfPj2bNm3Ko48+6sUYp90vfqi95jWvyfbt29PW1pYlS5YkSRYtWpT29vZ8+ctfTldXV5566qmsW7cu8+fPzzXXXDPGO+elYLh5nD179mG3+cULtfXr1w+tHTnXl1122RndNy8dL/wF9UjnbrjbjWTW4VRMnTr1sMv/+Z//mblz5+aqq67Kv/7rv2bfvn353//936Nes65cuTLJ4a91f2G4NcYnUcsJ9fT0ZMuWLbnllluSJFVVVbnhhhvy+c9/Pt/61rdy0003HXWff/7nf87y5ctz3nnnDa3NmzcvEydOTPLzv1fst7ScCUf+UPvKV76SN77xjUmSmpqadHR05IYbbkjy87cf/+mf/ulYbpeXmL6+vsyYMSPJz+fxYx/7WP7jP/5j6PoXvuB6oeFerL35zW8+Y/vmpWFgYOCwX1CPNBJmzJhx1O2OnPWOjo6xeli8RHR0dKSxsTHTpk3Lb/7mb+bzn/983v/+9w972yNf6x5rjfFL1HJcAwMD2bBhQ6699tpcdNFFue+++zJ9+vS8/vWvT29v71G/FfuF73znO/nud7+br3zlK9m1a1c+8YlPpLe3N1dffXXq6uqyffv2/P7v//4ZfjS8FB35Q+2xxx4behvdwYMHU6lUxniHvJRNmTLlsHlcuXJlrr766hPeb7gXa6KWF9t999132C+oRxoJn/70p4+63YUXXuj/vZxRv/RLv5S9e/cmSZ588snU1tYOe7sjX+sea43xTdRyXA8++GA6OjqydevWbN26NcuXL8/Xv/71PPjgg3nZy16WRYsWDXu/j370o0P/vW7durzzne/M7t27s3HjxgwODmbx4sVD5yrA6XTkD7Wnn3467e3tufTSS9PZ2Zk5c+YM3dZRWs60+vr6Y87j8Yz0xRqciiN/Qd3e3p65c+cmOf7cDTefL3/5y0c16zBab3zjG7N58+Y8/PDDGRgYOOYR1+Fe6/b09By1tnTp0jP8CDgZ/qQPcFb72c9+ls2bN+eZZ57JwMBA3vve92b9+vV51ateldbW1jQ1NR3zHQdwuvX29mbt2rUjmsdffHJ8cvRc33LLLUNv7YTTYd26dfnzP//zEc3dcPM5ZcqUEc86wMkStcBLTk9PT3bu3Jn58+cPfTo3jBXzyEuFWQdOF1ELAABAsfydWgAAAIolagEAACiWqAUAAKBYohYAAIBiiVoAAACK9f8AIJe826dVfrYAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 1164.96x720 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(16.18,10))\n",
    "plt.bar(a.index, a.values)\n",
    "plt.title('年龄分布')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 151,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "age < 4:  3112\n",
      "age < 3:  2369\n",
      "age < 2:  1563\n",
      "age < 1:  725\n"
     ]
    }
   ],
   "source": [
    "# 新生儿数量\n",
    "print('age < 4: ', famconf[famconf['age']<4].shape[0])\n",
    "print('age < 3: ', famconf[famconf['age']<3].shape[0])\n",
    "print('age < 2: ', famconf[famconf['age']<2].shape[0])\n",
    "print('age < 1: ', famconf[famconf['age']<1].shape[0])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 152,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th>tb2_a_p</th>\n",
       "      <th>-9.0</th>\n",
       "      <th>0.0</th>\n",
       "      <th>1.0</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>age</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0-16</th>\n",
       "      <td>7</td>\n",
       "      <td>5082</td>\n",
       "      <td>5700</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16-22</th>\n",
       "      <td>1</td>\n",
       "      <td>1967</td>\n",
       "      <td>2016</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23-45</th>\n",
       "      <td>1</td>\n",
       "      <td>9404</td>\n",
       "      <td>9457</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>46-60</th>\n",
       "      <td>2</td>\n",
       "      <td>5267</td>\n",
       "      <td>5397</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>60+</th>\n",
       "      <td>0</td>\n",
       "      <td>5905</td>\n",
       "      <td>5402</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "tb2_a_p  -9.0   0.0   1.0\n",
       "age                      \n",
       "0-16        7  5082  5700\n",
       "16-22       1  1967  2016\n",
       "23-45       1  9404  9457\n",
       "46-60       2  5267  5397\n",
       "60+         0  5905  5402"
      ]
     },
     "execution_count": 152,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 年龄 + 性别  0：女  1：男\n",
    "pd.crosstab(age_seg,famconf['tb2_a_p'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 153,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th>tb3_a18_p</th>\n",
       "      <th>-8.0</th>\n",
       "      <th>1.0</th>\n",
       "      <th>2.0</th>\n",
       "      <th>3.0</th>\n",
       "      <th>4.0</th>\n",
       "      <th>5.0</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>age</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0-16</th>\n",
       "      <td>7884</td>\n",
       "      <td>2901</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16-22</th>\n",
       "      <td>36</td>\n",
       "      <td>3521</td>\n",
       "      <td>384</td>\n",
       "      <td>23</td>\n",
       "      <td>17</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23-45</th>\n",
       "      <td>282</td>\n",
       "      <td>2842</td>\n",
       "      <td>14942</td>\n",
       "      <td>70</td>\n",
       "      <td>650</td>\n",
       "      <td>76</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>46-60</th>\n",
       "      <td>148</td>\n",
       "      <td>145</td>\n",
       "      <td>9654</td>\n",
       "      <td>40</td>\n",
       "      <td>317</td>\n",
       "      <td>362</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>60+</th>\n",
       "      <td>670</td>\n",
       "      <td>81</td>\n",
       "      <td>8075</td>\n",
       "      <td>45</td>\n",
       "      <td>112</td>\n",
       "      <td>2324</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "tb3_a18_p  -8.0   1.0    2.0   3.0   4.0   5.0\n",
       "age                                           \n",
       "0-16       7884  2901      3     1     0     0\n",
       "16-22        36  3521    384    23    17     3\n",
       "23-45       282  2842  14942    70   650    76\n",
       "46-60       148   145   9654    40   317   362\n",
       "60+         670    81   8075    45   112  2324"
      ]
     },
     "execution_count": 153,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 年龄 + 婚姻情况 \n",
    "# -1：不知道； -8：不适用； 1：未婚； 2：在婚（有配偶）；3：同居； 4：离婚； 5：丧偶\n",
    "pd.crosstab(age_seg,famconf['tb3_a18_p'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 154,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th>alive_a18_p</th>\n",
       "      <th>0.0</th>\n",
       "      <th>1.0</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>age</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0-16</th>\n",
       "      <td>4</td>\n",
       "      <td>10785</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16-22</th>\n",
       "      <td>2</td>\n",
       "      <td>3982</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23-45</th>\n",
       "      <td>29</td>\n",
       "      <td>18833</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>46-60</th>\n",
       "      <td>78</td>\n",
       "      <td>10588</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>60+</th>\n",
       "      <td>583</td>\n",
       "      <td>10724</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "alive_a18_p  0.0    1.0\n",
       "age                    \n",
       "0-16           4  10785\n",
       "16-22          2   3982\n",
       "23-45         29  18833\n",
       "46-60         78  10588\n",
       "60+          583  10724"
      ]
     },
     "execution_count": 154,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 个人是否健在\n",
    "pd.crosstab(age_seg,famconf['alive_a18_p'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 155,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th>alive_a18_s</th>\n",
       "      <th>-8.0</th>\n",
       "      <th>-1.0</th>\n",
       "      <th>0.0</th>\n",
       "      <th>1.0</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>age</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0-16</th>\n",
       "      <td>10788</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16-22</th>\n",
       "      <td>3720</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>264</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23-45</th>\n",
       "      <td>5595</td>\n",
       "      <td>1</td>\n",
       "      <td>5</td>\n",
       "      <td>13261</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>46-60</th>\n",
       "      <td>1054</td>\n",
       "      <td>0</td>\n",
       "      <td>7</td>\n",
       "      <td>9605</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>60+</th>\n",
       "      <td>2933</td>\n",
       "      <td>0</td>\n",
       "      <td>132</td>\n",
       "      <td>8242</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "alive_a18_s   -8.0  -1.0   0.0    1.0\n",
       "age                                  \n",
       "0-16         10788     0     0      1\n",
       "16-22         3720     0     0    264\n",
       "23-45         5595     1     5  13261\n",
       "46-60         1054     0     7   9605\n",
       "60+           2933     0   132   8242"
      ]
     },
     "execution_count": 155,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 配偶是否健在， 应该是和上一次调查的时间相比的变化\n",
    "pd.crosstab(age_seg,famconf['alive_a18_s'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 156,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "367   -8.0\n",
       "Name: alive_a18_s, dtype: float64"
      ]
     },
     "execution_count": 156,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# some check\n",
    "tem = famconf[(famconf['alive_a18_p'] == 0)& (famconf['alive_a18_s'] == 1)]['pid_a_s'][0:2]\n",
    "famconf[famconf['pid'] == tem.values[1]]['tb3_a18_p']  #  = 5  丧偶\n",
    "famconf[famconf['pid'] == tem.values[1]]['alive_a18_s']  #  = -8   但不是在这个调查阶段去世的？\n",
    "# famconf[famconf['pid'] == tem.values[1]]['pid_a_s'] # -8   如果配偶去世，配偶就没有pid了\n",
    "# Q:需要看的问题：如果是基因成员，去世了还是会在调察的家庭关系表中吗？ check 往年数据"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 157,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th>hukou_a18_p</th>\n",
       "      <th>-9.0</th>\n",
       "      <th>-1.0</th>\n",
       "      <th>1.0</th>\n",
       "      <th>3.0</th>\n",
       "      <th>5.0</th>\n",
       "      <th>79.0</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>age</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0-16</th>\n",
       "      <td>48</td>\n",
       "      <td>2</td>\n",
       "      <td>8401</td>\n",
       "      <td>2110</td>\n",
       "      <td>211</td>\n",
       "      <td>17</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16-22</th>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>3216</td>\n",
       "      <td>758</td>\n",
       "      <td>4</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23-45</th>\n",
       "      <td>102</td>\n",
       "      <td>0</td>\n",
       "      <td>14006</td>\n",
       "      <td>4722</td>\n",
       "      <td>16</td>\n",
       "      <td>16</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>46-60</th>\n",
       "      <td>13</td>\n",
       "      <td>0</td>\n",
       "      <td>7956</td>\n",
       "      <td>2675</td>\n",
       "      <td>11</td>\n",
       "      <td>11</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>60+</th>\n",
       "      <td>18</td>\n",
       "      <td>0</td>\n",
       "      <td>8008</td>\n",
       "      <td>3246</td>\n",
       "      <td>17</td>\n",
       "      <td>18</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "hukou_a18_p  -9.0   -1.0    1.0    3.0    5.0    79.0\n",
       "age                                                  \n",
       "0-16            48      2   8401   2110    211     17\n",
       "16-22            3      0   3216    758      4      3\n",
       "23-45          102      0  14006   4722     16     16\n",
       "46-60           13      0   7956   2675     11     11\n",
       "60+             18      0   8008   3246     17     18"
      ]
     },
     "execution_count": 157,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# 年龄 + 户口\n",
    "# -1：不知道； -9：缺失； 1：农业户口； 3：非农业户口； 5：没有户口； 79：不适用(非中国国籍)\n",
    "pd.crosstab(age_seg,famconf['hukou_a18_p'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 158,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th>hukou_a18_s</th>\n",
       "      <th>-9.0</th>\n",
       "      <th>-8.0</th>\n",
       "      <th>-1.0</th>\n",
       "      <th>1.0</th>\n",
       "      <th>3.0</th>\n",
       "      <th>5.0</th>\n",
       "      <th>79.0</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>age</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0-16</th>\n",
       "      <td>0</td>\n",
       "      <td>10787</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16-22</th>\n",
       "      <td>0</td>\n",
       "      <td>3720</td>\n",
       "      <td>0</td>\n",
       "      <td>246</td>\n",
       "      <td>18</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23-45</th>\n",
       "      <td>5</td>\n",
       "      <td>5428</td>\n",
       "      <td>1</td>\n",
       "      <td>10047</td>\n",
       "      <td>3358</td>\n",
       "      <td>11</td>\n",
       "      <td>12</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>46-60</th>\n",
       "      <td>0</td>\n",
       "      <td>1007</td>\n",
       "      <td>0</td>\n",
       "      <td>7281</td>\n",
       "      <td>2360</td>\n",
       "      <td>6</td>\n",
       "      <td>12</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>60+</th>\n",
       "      <td>0</td>\n",
       "      <td>2918</td>\n",
       "      <td>0</td>\n",
       "      <td>5865</td>\n",
       "      <td>2515</td>\n",
       "      <td>6</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "hukou_a18_s  -9.0   -8.0   -1.0    1.0    3.0    5.0    79.0\n",
       "age                                                         \n",
       "0-16             0  10787      0      2      0      0      0\n",
       "16-22            0   3720      0    246     18      0      0\n",
       "23-45            5   5428      1  10047   3358     11     12\n",
       "46-60            0   1007      0   7281   2360      6     12\n",
       "60+              0   2918      0   5865   2515      6      3"
      ]
     },
     "execution_count": 158,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pd.crosstab(age_seg,famconf['hukou_a18_s'])\n",
    "# -8：不适用； -9：缺失\n",
    "# 15-22 年龄段的户口数量 < 配偶数量  对应的是 配偶是否健在为 -8 "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 2.5 子女情况 "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 159,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "5944    -8.0\n",
       "5945    -8.0\n",
       "6661    -8.0\n",
       "7639    -8.0\n",
       "7640    -8.0\n",
       "8470    -8.0\n",
       "8471    -8.0\n",
       "9996    -8.0\n",
       "14808   -8.0\n",
       "16709   -8.0\n",
       "16710   -8.0\n",
       "17198   -8.0\n",
       "17686   -8.0\n",
       "25665   -8.0\n",
       "29190   -8.0\n",
       "29193   -8.0\n",
       "34164   -8.0\n",
       "38431   -8.0\n",
       "40955   -8.0\n",
       "41336   -8.0\n",
       "42941   -8.0\n",
       "43262   -8.0\n",
       "43541   -8.0\n",
       "43542   -8.0\n",
       "44811   -8.0\n",
       "44812   -8.0\n",
       "45261   -8.0\n",
       "47378   -8.0\n",
       "47870   -8.0\n",
       "48193   -8.0\n",
       "49054   -8.0\n",
       "51046   -8.0\n",
       "52750   -8.0\n",
       "55694   -8.0\n",
       "57621   -8.0\n",
       "Name: tb1y_a_c1, dtype: float64"
      ]
     },
     "execution_count": 159,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "famconf[famconf['pid_a_c1']==77]['tb1y_a_c1']  # 77： 离家"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 160,
   "metadata": {},
   "outputs": [],
   "source": [
    "child_list = ['child'+str(i) for i in range(0,10)]\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 161,
   "metadata": {},
   "outputs": [],
   "source": [
    "female_df = famconf[famconf['tb2_a_p']==0] # 选择女性\n",
    "\n",
    "# 新建df存储信息\n",
    "## 列名称\n",
    "child_col = ['f_pid','m_pid','marriage','total_child']\n",
    "child_col.extend(child_list)\n",
    "## 初始化字典存储数据\n",
    "tem = {}\n",
    "for i in child_col:\n",
    "    tem[i]=[]\n",
    "\n",
    "for i,j in enumerate(female_df['pid']):\n",
    "    data = female_df.iloc[i]\n",
    "    # 我們需要考虑结过婚 和 未婚有小孩儿的情况\n",
    "    if (data['tb3_a18_p']==2) | (data['tb3_a18_p']==4)|(data['tb3_a18_p']==5)| (data['pid_a_c1'] >1000000):        \n",
    "        \n",
    "        # 1. wife and hunsband info\n",
    "        tem['f_pid'].append(j)  # pid\n",
    "        tem['marriage'].append(data['tb3_a18_p']) #婚姻状态\n",
    "        tem['m_pid'].append(data['pid_a_s']) # 配偶pid\n",
    "        \n",
    "        # 2. child info\n",
    "        for k in range(10):\n",
    "            tem[child_list[k]].append(data['pid_a_c'+str(k+1)])\n",
    "        \n",
    "        # 3 计算有几个小孩儿\n",
    "        for k in range(10):\n",
    "            if tem[child_list[-(k+1)]][-1]>1000000:\n",
    "                tem['total_child'].append(10 - k)\n",
    "                break\n",
    "            if k == 9:\n",
    "                tem['total_child'].append(0)\n",
    "    #tem.append(female['pid_a_s']) # 配偶pid, -8 79 为不适用"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 162,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 生成dataframe\n",
    "child_info_df = pd.DataFrame(tem)\n",
    "# 整理完之後的數據，注意，家庭的F，M有可能是別的F，M的子女"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 163,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "case 3: 140061103.0 237144551.0 140061601.0\n",
      "case 3: 140677104.0 135643551.0 140677601.0\n",
      "case 3: 520327102.0 214972501.0 520327101.0\n",
      "case 3: 430561103.0 257422551.0 289374601.0\n",
      "case 3: 621317103.0 295643551.0 621317501.0\n",
      "case 3: 360190103.0 243601551.0 360190601.0\n",
      "case 3: 410339101.0 410339102.0 410339601.0\n",
      "case 3: 411436106.0 262068551.0 411436601.0\n",
      "case 4: 411450107.0 411450502.0 411450602.0\n",
      "case 3: 411773103.0 194085551.0 411773601.0\n",
      "case 3: 430439103.0 631880601.0 430439601.0\n",
      "case 3: 441656103.0 163035551.0 441656601.0\n",
      "case 3: 450175104.0 231754551.0 450175601.0\n",
      "case 3: 510186103.0 248752551.0 510186601.0\n",
      "case 3: 510397101.0 510397552.0 510397102.0\n",
      "case 3: 510593101.0 180827551.0 510593601.0\n",
      "case 3: 510911581.0 510911203.0 510911105.0\n",
      "case 3: 520211104.0 197781551.0 520211601.0\n",
      "case 3: 410796103.0 143756551.0 530103601.0\n",
      "case 3: 411035104.0 261778551.0 548612601.0\n",
      "case 3: 510457103.0 510457204.0 588238601.0\n",
      "case 3: 620352101.0 250909552.0 620352203.0\n",
      "case 3: 620553106.0 182778551.0 620553601.0\n",
      "case 3: 620624103.0 149818551.0 620624601.0\n",
      "case 3: 620695101.0 132716551.0 620695601.0\n",
      "case 4: 621479101.0 621479102.0 621479601.0\n",
      "case 3: 621729102.0 621729101.0 621729601.0\n",
      "case 3: 510051103.0 510051205.0 625697601.0\n"
     ]
    }
   ],
   "source": [
    "# checking data\n",
    "male_list = child_info_df.m_pid.values\n",
    "female_list = child_info_df.f_pid.values\n",
    "\n",
    "count1 = 0  # husband have pid, but no data info\n",
    "count2 = 0  # use male pid to get wife pid, which is invalid\n",
    "count3 = 0  # use male pid to get wife pid, but not in female_list\n",
    "count4 = 0  # use male pid to get wife pid, wife also in female_list though not the same as original wife\n",
    "queshi = 0   # no pid\n",
    "for i,j in enumerate(male_list):\n",
    "    #print(i)\n",
    "    if j == -8  or j == 79:   # -8: 缺失； 79 不适用\n",
    "        queshi += 1  #数量 4075 \n",
    "        continue\n",
    "    else:\n",
    "        try:\n",
    "            temp_f =  famconf[famconf['pid'] == j]['pid_a_s'].iloc[0]\n",
    "        except:\n",
    "            # 有一些配偶有PID，但没有信息;  原因，配偶在上期之前已去世 或 alive 數據缺失，所以，此处没有数据\n",
    "            #print(female_list[i],j)\n",
    "            count1 += 1   # 數量：373\n",
    "            continue\n",
    "    temp2_f =  child_info_df.iloc[i]['f_pid']\n",
    "    if temp_f != temp2_f:   # wife is not consistent\n",
    "        if temp_f < 1000000:\n",
    "            count2 +=1  # 數量：145  \n",
    "        else:\n",
    "            if (temp_f not in female_list) :\n",
    "                count3 += 1   #數量： 26  數據問題，由 husband id 找到的wife 沒有 data, 暫不考慮此問題，也許是離異再婚造成的？\n",
    "                print('case 3:', j,temp_f, female_list[i])\n",
    "            else:\n",
    "                count4 += 1 #   數量 2  數據有問題，需要檢查修改\n",
    "                print('case 4:', j,temp_f, female_list[i])\n",
    "        "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 164,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(373, 145, 26, 2, 4075)"
      ]
     },
     "execution_count": 164,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "count1,count2,count3, count4,queshi"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 165,
   "metadata": {},
   "outputs": [
    {
     "ename": "NameError",
     "evalue": "name 'famconf_pid' is not defined",
     "output_type": "error",
     "traceback": [
      "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[1;31mNameError\u001b[0m                                 Traceback (most recent call last)",
      "\u001b[1;32mC:\\Temp\\Temp/ipykernel_11660/3568009171.py\u001b[0m in \u001b[0;36m<module>\u001b[1;34m\u001b[0m\n\u001b[0;32m      2\u001b[0m \u001b[1;31m# 621479101.0 621479102.0 621479601.0    621479102 沒有丈夫的data, 建議刪除\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m      3\u001b[0m \u001b[1;31m# 411450107.0 411450502.0 411450602.0   數據有無， 411450107 的妻子應爲  411450602 需要調整, 而且兩個人的小孩兒數量不一樣，需要想想怎麽處理\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[1;32m----> 4\u001b[1;33m \u001b[0mprint\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mfamconf_pid\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mloc\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;36m621479101\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;34m'tb3_a18_p'\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;34m'pid_a_s'\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;34m'fid18'\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;34m'pid_a_c1'\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mtolist\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0m\u001b[0;32m      5\u001b[0m \u001b[0mprint\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mfamconf_pid\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mloc\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;36m621479601\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;34m'tb3_a18_p'\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;34m'pid_a_s'\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;34m'fid18'\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;34m'pid_a_c1'\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mtolist\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n\u001b[0;32m      6\u001b[0m \u001b[0mprint\u001b[0m\u001b[1;33m(\u001b[0m\u001b[0mfamconf_pid\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mloc\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;36m621479102\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;33m[\u001b[0m\u001b[1;34m'tb3_a18_p'\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;34m'pid_a_s'\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;34m'fid18'\u001b[0m\u001b[1;33m,\u001b[0m\u001b[1;34m'pid_a_c1'\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m]\u001b[0m\u001b[1;33m.\u001b[0m\u001b[0mtolist\u001b[0m\u001b[1;33m(\u001b[0m\u001b[1;33m)\u001b[0m\u001b[1;33m)\u001b[0m   \u001b[1;31m# husband data missing, so delete this data\u001b[0m\u001b[1;33m\u001b[0m\u001b[1;33m\u001b[0m\u001b[0m\n",
      "\u001b[1;31mNameError\u001b[0m: name 'famconf_pid' is not defined"
     ]
    }
   ],
   "source": [
    "# check case 4\n",
    "# 621479101.0 621479102.0 621479601.0    621479102 沒有丈夫的data, 建議刪除\n",
    "# 411450107.0 411450502.0 411450602.0   數據有無， 411450107 的妻子應爲  411450602 需要調整, 而且兩個人的小孩兒數量不一樣，需要想想怎麽處理\n",
    "print(famconf_pid.loc[621479101][['tb3_a18_p','pid_a_s','fid18','pid_a_c1']].tolist())\n",
    "print(famconf_pid.loc[621479601][['tb3_a18_p','pid_a_s','fid18','pid_a_c1']].tolist())\n",
    "print(famconf_pid.loc[621479102][['tb3_a18_p','pid_a_s','fid18','pid_a_c1']].tolist())   # husband data missing, so delete this data\n",
    "print('-'*20)\n",
    "print(famconf_pid.loc[411450107][['tb3_a18_p','pid_a_s','fid18','alive_a18_p','pid_a_c1','age']].tolist())\n",
    "print(famconf_pid.loc[411450602][['tb3_a18_p','pid_a_s','fid18','alive_a18_p','pid_a_c1','age']].tolist())\n",
    "print(famconf_pid.loc[411450502][['tb3_a18_p','pid_a_s','fid18','alive_a18_p','pid_a_c1','age']].tolist())  # hunsband: 411450103 not the same as 411450107\n",
    "print(famconf_pid.loc[411450103][['tb3_a18_p','pid_a_s','fid18','alive_a18_p','pid_a_c3','age']].tolist())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "# check CASE 3\n",
    "# case 3: 140061103.0 237144551.0 140061601.0  # 237144551 no inpusts\n",
    "# case 3: 140677104.0 135643551.0 140677601.0\n",
    "# case 3: 520327102.0 214972501.0 520327101.0\n",
    "\n",
    "print(famconf_pid.loc[140677104][['tb3_a18_p','pid_a_s','fid18','alive_a18_p','pid_a_c2','age']].tolist())\n",
    "print(famconf_pid.loc[140677601][['tb3_a18_p','pid_a_s','fid18','alive_a18_p','pid_a_c2','age']].tolist())\n",
    "#print(famconf_pid.loc[135643551][['tb3_a18_p','pid_a_s','fid18','alive_a18_p','pid_a_c1','age']].tolist()) \n",
    "\n",
    "print('-'*20)\n",
    "\n",
    "print(famconf_pid.loc[520327102][['tb3_a18_p','pid_a_s','fid18','alive_a18_p','pid_a_c2','age']].tolist())\n",
    "print(famconf_pid.loc[520327101][['tb3_a18_p','pid_a_s','fid18','alive_a18_p','pid_a_c2','age']].tolist())\n",
    "# print(famconf_pid.loc[214972501][['tb3_a18_p','pid_a_s','fid18','alive_a18_p','pid_a_c1','age']].tolist()) "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "# check male sample  如果有男性未婚有小孩，或者喪偶、離婚的情況需要加入\n",
    "male_df = famconf[famconf['tb2_a_p']==1] # 选择男性\n",
    "\n",
    "tem = {}\n",
    "for i in child_col:\n",
    "    tem[i]=[]\n",
    "for i,j in enumerate(male_df['pid']):\n",
    "    # 如果male 沒有在 child_info_df中，則check是否需要補充數據\n",
    "    if j not in male_list:\n",
    "        data = male_df.iloc[i]\n",
    "        # 我們需要考虑结过婚 和 未婚有小孩儿的情况\n",
    "        if (data['tb3_a18_p']==2) | (data['tb3_a18_p']==4)|(data['tb3_a18_p']==5)| (data['pid_a_c1'] >1000000):        \n",
    "\n",
    "            # 1. wife and hunsband info\n",
    "            tem['m_pid'].append(j)  # pid\n",
    "            tem['marriage'].append(data['tb3_a18_p']) #婚姻状态\n",
    "            tem['f_pid'].append(data['pid_a_s']) # 配偶pid\n",
    "\n",
    "            # 2. child info\n",
    "            for k in range(10):\n",
    "                tem[child_list[k]].append(data['pid_a_c'+str(k+1)])\n",
    "\n",
    "            # 3 计算有几个小孩儿\n",
    "            for k in range(10):\n",
    "                if tem[child_list[-(k+1)]][-1]>1000000:\n",
    "                    tem['total_child'].append(10 - k)\n",
    "                    break\n",
    "                if k == 9:\n",
    "                    tem['total_child'].append(0)\n",
    "        #tem.append(female['pid_a_s']) # 配偶pid, -8 79 为不适用"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 生成dataframe\n",
    "child_info_df2 = pd.DataFrame(tem)\n",
    "# 整理完之後的數據，注意，家庭的F，M有可能是別的F，M的子女"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 合并兩個表, 數據細節還需要再處理，清洗未完成\n",
    "child_info_total = pd.concat([child_info_df, child_info_df2], axis = 0)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "famconf.columns[2:30]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "famconf_pid = famconf.copy()\n",
    "famconf_pid.set_index('pid',inplace = True)  # set pid as index\n",
    "# 加入一些數據方便後續處理\n",
    "# 加入女性和男性的年龄和alive info\n",
    "temp = famconf_pid[['age','age_segment','alive_a18_p']]\n",
    "temp.columns = ['f_age', 'f_age_segment','f_alive']\n",
    "child_info_total2 = pd.merge(child_info_total, temp, left_on='f_pid', right_index = True, how = 'left') # 合并两个表\n",
    "temp.columns = ['m_age', 'm_age_segment','m_alive']\n",
    "child_info_total2 = pd.merge(child_info_total2, temp, left_on='m_pid', right_index = True, how = 'left')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "print(child_info_total2.head(2))\n",
    "print('--------')\n",
    "print('data amount:', child_info_total2.shape)\n",
    "print('------------')\n",
    "print('marriage status:')\n",
    "print(child_info_total2.marriage.value_counts())\n",
    "print('-'*10)\n",
    "print('child amount:')\n",
    "child_info_total2.total_child.value_counts()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "pd.crosstab(child_info_total2['m_age_segment'],child_info_total2['total_child'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "pd.crosstab(child_info_total2['f_age_segment'],child_info_total2['total_child'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "child_info_total2[child_info_total2['m_age_segment']=='0-16']\n",
    "# 数据有问题：2.16岁有的小孩，不对\n",
    "# 需要清洗掉有小孩儿的年纪< 13 且 需check 年纪 - 孩子年纪 > 13,未做\n",
    "# 加入孩子的年纪进一步分析，未做"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 3 家庭问卷库  famecon"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 3.1. 列出预计会使用的变量"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "- finance\n",
    "    - fn3: 是否领取离退休或养老金； fn301 领取离退休或养老金总额（元）\n",
    "    - fn401: 子女给的钱（元）（不同住子女）\n",
    "    - FN4\t亲戚给的钱（元）\n",
    "    - FN5\t其他人给的钱（元）\n",
    "\n",
    "  \n",
    "    - fp510 教育培训支出\n",
    "    - FQ2 房屋归谁所有\n",
    "        1：家庭成员有完全产权\n",
    "        2： 部分产权\n",
    "        3： 单位提供的房子\n",
    "        4：廉租房； 5： 公租房；6：租的商品房； 7：亲戚、朋友的房子\n",
    "    - FQ6 房子当前市价\n",
    "        - FQ6_MAX： 当前市价最大值\n",
    "        - FQ_MIN: 最小值\n",
    "    - FR1： 是否还有房产\n",
    "        - FR101：还有几处房产\n",
    "        - FR2： 其它房产市价总价\n",
    "        - FR2_MAX, FR2_MIN, FR2_EST\n",
    "        \n",
    "    - FS6V: 耐用品消费总值（元）\n",
    "    \n",
    "    - 金融资产\n",
    "        - FT1：现金及存款总额（元）\n",
    "            - FT1_MAX, FT1_MIN, FT1_EST\n",
    "            - FT101: 定期存款总额\n",
    "            \n",
    "        - FT200：是否持有金融产品\n",
    "            - FT201： 金融产品总价\n",
    "            \n",
    "    - 负债：\n",
    "        - FT3： 是否贷款买房或装修\n",
    "            - FT301： 待偿房贷本息总额（万元）\n",
    "        - FT4\t是否购房建房装修借款\n",
    "            - FT401\t购房建房装修借款额度（元）\n",
    "        - FT5\t待偿银行贷款（除房贷） 是否\n",
    "            - FT501\t您家待偿贷款额（元）\n",
    "        - FT6 待偿亲友借款 是否\n",
    "            -  FT601 您家待偿亲友借款（元）\n",
    "\t\n",
    "    - FAMILYSIZE18: 家庭人口规模（综合变量）\n",
    "        - fml_count 2018年家庭成员人口数 （加载的是Rtype = 1-5, 7(外出家庭成员）的成员，不包括同住（经济独立）的家庭成员\n",
    "    \n",
    "    - FSWT_NATCS18N：家庭横截面权数\n",
    "\t\n",
    "\t\n",
    "\t\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 166,
   "metadata": {},
   "outputs": [],
   "source": [
    "data_famecon = pd.read_stata(file_path_famecon, convert_categoricals=False) "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 167,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(14218, 321)"
      ]
     },
     "execution_count": 167,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data_famecon.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 168,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>fid18</th>\n",
       "      <th>fid16</th>\n",
       "      <th>fid14</th>\n",
       "      <th>fid12</th>\n",
       "      <th>fid10</th>\n",
       "      <th>provcd18</th>\n",
       "      <th>countyid18</th>\n",
       "      <th>cid18</th>\n",
       "      <th>urban18</th>\n",
       "      <th>iwmode</th>\n",
       "      <th>feinterv</th>\n",
       "      <th>fml_count</th>\n",
       "      <th>pid_a_1</th>\n",
       "      <th>pid_a_2</th>\n",
       "      <th>pid_a_3</th>\n",
       "      <th>pid_a_4</th>\n",
       "      <th>pid_a_5</th>\n",
       "      <th>pid_a_6</th>\n",
       "      <th>pid_a_7</th>\n",
       "      <th>pid_a_8</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>100051.0</td>\n",
       "      <td>100051.0</td>\n",
       "      <td>100051.0</td>\n",
       "      <td>110043.0</td>\n",
       "      <td>110043.0</td>\n",
       "      <td>11.0</td>\n",
       "      <td>45.0</td>\n",
       "      <td>624942.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>100051501.0</td>\n",
       "      <td>100051502.0</td>\n",
       "      <td>110043107.0</td>\n",
       "      <td>-8.0</td>\n",
       "      <td>-8.0</td>\n",
       "      <td>-8.0</td>\n",
       "      <td>-8.0</td>\n",
       "      <td>-8.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>100160.0</td>\n",
       "      <td>100160.0</td>\n",
       "      <td>100160.0</td>\n",
       "      <td>120009.0</td>\n",
       "      <td>120009.0</td>\n",
       "      <td>12.0</td>\n",
       "      <td>79.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>120009102.0</td>\n",
       "      <td>100160601.0</td>\n",
       "      <td>-8.0</td>\n",
       "      <td>-8.0</td>\n",
       "      <td>-8.0</td>\n",
       "      <td>-8.0</td>\n",
       "      <td>-8.0</td>\n",
       "      <td>-8.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>100286.0</td>\n",
       "      <td>100286.0</td>\n",
       "      <td>100286.0</td>\n",
       "      <td>130005.0</td>\n",
       "      <td>130005.0</td>\n",
       "      <td>13.0</td>\n",
       "      <td>239.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>130005103.0</td>\n",
       "      <td>-8.0</td>\n",
       "      <td>-8.0</td>\n",
       "      <td>-8.0</td>\n",
       "      <td>-8.0</td>\n",
       "      <td>-8.0</td>\n",
       "      <td>-8.0</td>\n",
       "      <td>-8.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>100435.0</td>\n",
       "      <td>100435.0</td>\n",
       "      <td>100435.0</td>\n",
       "      <td>130155.0</td>\n",
       "      <td>130155.0</td>\n",
       "      <td>13.0</td>\n",
       "      <td>52.0</td>\n",
       "      <td>121200.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>4.0</td>\n",
       "      <td>100435552.0</td>\n",
       "      <td>130155103.0</td>\n",
       "      <td>130155521.0</td>\n",
       "      <td>277731501.0</td>\n",
       "      <td>-8.0</td>\n",
       "      <td>-8.0</td>\n",
       "      <td>-8.0</td>\n",
       "      <td>-8.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>100453.0</td>\n",
       "      <td>100453.0</td>\n",
       "      <td>100453.0</td>\n",
       "      <td>100453.0</td>\n",
       "      <td>430111.0</td>\n",
       "      <td>43.0</td>\n",
       "      <td>29.0</td>\n",
       "      <td>533420.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>6.0</td>\n",
       "      <td>100453401.0</td>\n",
       "      <td>100453431.0</td>\n",
       "      <td>100453551.0</td>\n",
       "      <td>430111101.0</td>\n",
       "      <td>430111102.0</td>\n",
       "      <td>430111103.0</td>\n",
       "      <td>-8.0</td>\n",
       "      <td>-8.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "      fid18     fid16     fid14     fid12     fid10  provcd18  countyid18  \\\n",
       "0  100051.0  100051.0  100051.0  110043.0  110043.0      11.0        45.0   \n",
       "1  100160.0  100160.0  100160.0  120009.0  120009.0      12.0        79.0   \n",
       "2  100286.0  100286.0  100286.0  130005.0  130005.0      13.0       239.0   \n",
       "3  100435.0  100435.0  100435.0  130155.0  130155.0      13.0        52.0   \n",
       "4  100453.0  100453.0  100453.0  100453.0  430111.0      43.0        29.0   \n",
       "\n",
       "      cid18  urban18  iwmode  feinterv  fml_count      pid_a_1      pid_a_2  \\\n",
       "0  624942.0      1.0     2.0       1.0        3.0  100051501.0  100051502.0   \n",
       "1       NaN      1.0     1.0       1.0        2.0  120009102.0  100160601.0   \n",
       "2       NaN      1.0     2.0       1.0        1.0  130005103.0         -8.0   \n",
       "3  121200.0      0.0     2.0       1.0        4.0  100435552.0  130155103.0   \n",
       "4  533420.0      1.0     1.0       1.0        6.0  100453401.0  100453431.0   \n",
       "\n",
       "       pid_a_3      pid_a_4      pid_a_5      pid_a_6  pid_a_7  pid_a_8  \n",
       "0  110043107.0         -8.0         -8.0         -8.0     -8.0     -8.0  \n",
       "1         -8.0         -8.0         -8.0         -8.0     -8.0     -8.0  \n",
       "2         -8.0         -8.0         -8.0         -8.0     -8.0     -8.0  \n",
       "3  130155521.0  277731501.0         -8.0         -8.0     -8.0     -8.0  \n",
       "4  100453551.0  430111101.0  430111102.0  430111103.0     -8.0     -8.0  "
      ]
     },
     "execution_count": 168,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data_famecon.iloc[0:5,0:20]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 169,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "687"
      ]
     },
     "execution_count": 169,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# fml_count 与 fmilysize18 不同，区别还需要理一下\n",
    "a = data_famecon['fml_count'] <= data_famecon['familysize18']\n",
    "sum(~a) "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 3.2 家庭资产分析"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### 资产\n",
    "    - 房产 fq2 (=1,=2), fr1\n",
    "        - 价值 \n",
    "            - fq6, fq6_max, fq6_min\n",
    "            - fr2, fr2_max, fr2_min, fr2_est\n",
    "    - 耐用品\n",
    "        - 消费总值：fs6v\n",
    "        \n",
    "    - 金融资产 FT200：是否持有金融产品\n",
    "        - FT201： 金融产品总价\n",
    "#### 负债\n",
    "    - FT3： 是否贷款买房或装修\n",
    "        - FT301： 待偿房贷本息总额（万元）\n",
    "    - FT4   是否购房建房装修借款\n",
    "        - FT401  购房建房装修借款额度（元）\n",
    "    - FT5   待偿银行贷款（除房贷） 是否\n",
    "        - FT501  您家待偿贷款额（元）\n",
    "    - FT6 待偿亲友借款 是否\n",
    "        -  FT601 您家待偿亲友借款（元）\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 3.2.1 整体简要分析"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 170,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 资产整理，沒有用權數調整\n",
    "famecon = data_famecon.set_index('fid18')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 171,
   "metadata": {},
   "outputs": [],
   "source": [
    "# participation rate\n",
    "# 資產\n",
    "famecon['housing'] = [1 if (i[1]['fq2'] == 1) or (i[1]['fq2'] == 2) or (i[1]['fr1'] == 1) else 0 for i in famecon[['fq2','fr1']].iterrows()]\n",
    "famecon['durable'] = [1 if i>0 else 0 for i in famecon['fs6v'].values]\n",
    "famecon['fin_asset'] = [1 if i == 1 else 0 for i in famecon['ft200'].values]\n",
    "# 負債\n",
    "famecon['mortgage'] = [1 if i==1 else 0 for i in famecon['ft3'].values]\n",
    "famecon['bank_loan'] = [1 if i==1 else 0 for i in famecon['ft5'].values]\n",
    "famecon['friend_loan'] = [1 if i == 1 else 0 for i in famecon['ft6'].values]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 172,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Participation rate\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "housing        0.845196\n",
       "durable        0.909833\n",
       "fin_asset      0.056970\n",
       "mortgage       0.116894\n",
       "bank_loan      0.096146\n",
       "friend_loan    0.128991\n",
       "dtype: float64"
      ]
     },
     "execution_count": 172,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "print('Participation rate')\n",
    "famecon[['housing','durable','fin_asset','mortgage','bank_loan','friend_loan']].apply(lambda x: sum(x)/len(x))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 173,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 不同家庭人數簡單看一下participation rate\n",
    "#  可以更細的區分家庭結構 看 participation rate\n",
    "result = famecon[['housing','durable','fin_asset','mortgage','bank_loan','friend_loan']].groupby(famecon['fml_count']).agg(lambda x: sum(x)/len(x))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 174,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>housing</th>\n",
       "      <th>durable</th>\n",
       "      <th>fin_asset</th>\n",
       "      <th>mortgage</th>\n",
       "      <th>bank_loan</th>\n",
       "      <th>friend_loan</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>fml_count</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>1.0</th>\n",
       "      <td>0.484830</td>\n",
       "      <td>0.762743</td>\n",
       "      <td>0.055825</td>\n",
       "      <td>0.052184</td>\n",
       "      <td>0.072209</td>\n",
       "      <td>0.078277</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2.0</th>\n",
       "      <td>0.833718</td>\n",
       "      <td>0.908941</td>\n",
       "      <td>0.060046</td>\n",
       "      <td>0.063345</td>\n",
       "      <td>0.052458</td>\n",
       "      <td>0.091389</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3.0</th>\n",
       "      <td>0.869822</td>\n",
       "      <td>0.929652</td>\n",
       "      <td>0.082840</td>\n",
       "      <td>0.152860</td>\n",
       "      <td>0.100592</td>\n",
       "      <td>0.115385</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4.0</th>\n",
       "      <td>0.896479</td>\n",
       "      <td>0.931269</td>\n",
       "      <td>0.058125</td>\n",
       "      <td>0.151039</td>\n",
       "      <td>0.106067</td>\n",
       "      <td>0.149767</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5.0</th>\n",
       "      <td>0.935329</td>\n",
       "      <td>0.943346</td>\n",
       "      <td>0.047568</td>\n",
       "      <td>0.140032</td>\n",
       "      <td>0.129343</td>\n",
       "      <td>0.166221</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6.0</th>\n",
       "      <td>0.960624</td>\n",
       "      <td>0.951709</td>\n",
       "      <td>0.025260</td>\n",
       "      <td>0.134473</td>\n",
       "      <td>0.130015</td>\n",
       "      <td>0.176820</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7.0</th>\n",
       "      <td>0.967010</td>\n",
       "      <td>0.936082</td>\n",
       "      <td>0.022680</td>\n",
       "      <td>0.142268</td>\n",
       "      <td>0.134021</td>\n",
       "      <td>0.208247</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8.0</th>\n",
       "      <td>0.959391</td>\n",
       "      <td>0.913706</td>\n",
       "      <td>0.015228</td>\n",
       "      <td>0.081218</td>\n",
       "      <td>0.106599</td>\n",
       "      <td>0.197970</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9.0</th>\n",
       "      <td>0.950980</td>\n",
       "      <td>0.921569</td>\n",
       "      <td>0.049020</td>\n",
       "      <td>0.127451</td>\n",
       "      <td>0.107843</td>\n",
       "      <td>0.117647</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10.0</th>\n",
       "      <td>0.972973</td>\n",
       "      <td>0.932432</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.148649</td>\n",
       "      <td>0.135135</td>\n",
       "      <td>0.162162</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11.0</th>\n",
       "      <td>0.916667</td>\n",
       "      <td>0.875000</td>\n",
       "      <td>0.083333</td>\n",
       "      <td>0.083333</td>\n",
       "      <td>0.166667</td>\n",
       "      <td>0.166667</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12.0</th>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.866667</td>\n",
       "      <td>0.133333</td>\n",
       "      <td>0.133333</td>\n",
       "      <td>0.200000</td>\n",
       "      <td>0.133333</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13.0</th>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.846154</td>\n",
       "      <td>0.076923</td>\n",
       "      <td>0.307692</td>\n",
       "      <td>0.153846</td>\n",
       "      <td>0.076923</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14.0</th>\n",
       "      <td>0.875000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.375000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.250000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15.0</th>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.500000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16.0</th>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>1.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17.0</th>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>21.0</th>\n",
       "      <td>1.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "            housing   durable  fin_asset  mortgage  bank_loan  friend_loan\n",
       "fml_count                                                                 \n",
       "1.0        0.484830  0.762743   0.055825  0.052184   0.072209     0.078277\n",
       "2.0        0.833718  0.908941   0.060046  0.063345   0.052458     0.091389\n",
       "3.0        0.869822  0.929652   0.082840  0.152860   0.100592     0.115385\n",
       "4.0        0.896479  0.931269   0.058125  0.151039   0.106067     0.149767\n",
       "5.0        0.935329  0.943346   0.047568  0.140032   0.129343     0.166221\n",
       "6.0        0.960624  0.951709   0.025260  0.134473   0.130015     0.176820\n",
       "7.0        0.967010  0.936082   0.022680  0.142268   0.134021     0.208247\n",
       "8.0        0.959391  0.913706   0.015228  0.081218   0.106599     0.197970\n",
       "9.0        0.950980  0.921569   0.049020  0.127451   0.107843     0.117647\n",
       "10.0       0.972973  0.932432   0.000000  0.148649   0.135135     0.162162\n",
       "11.0       0.916667  0.875000   0.083333  0.083333   0.166667     0.166667\n",
       "12.0       1.000000  0.866667   0.133333  0.133333   0.200000     0.133333\n",
       "13.0       1.000000  0.846154   0.076923  0.307692   0.153846     0.076923\n",
       "14.0       0.875000  1.000000   0.000000  0.375000   0.000000     0.250000\n",
       "15.0       1.000000  1.000000   0.000000  0.000000   0.000000     0.500000\n",
       "16.0       1.000000  1.000000   0.000000  0.000000   0.000000     1.000000\n",
       "17.0       1.000000  1.000000   0.000000  0.000000   0.000000     0.000000\n",
       "21.0       1.000000  1.000000   0.000000  0.000000   0.000000     0.000000"
      ]
     },
     "execution_count": 174,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "result "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 175,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "C:\\Temp\\Temp/ipykernel_11660/3988926344.py:16: UserWarning: You passed a edgecolor/edgecolors ('none') for an unfilled marker ('+').  Matplotlib is ignoring the edgecolor in favor of the facecolor.  This behavior may change in the future.\n",
      "  ax.scatter(result.index[0:9],#传入数据x\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAABo4AAAScCAYAAAC1GX3IAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/MnkTPAAAACXBIWXMAAB7CAAAewgFu0HU+AAEAAElEQVR4nOzdd3xUVf7/8fe9M5NJJp2QBAgdkV4VBBvYQFwVpQjK2taKZdevu5atrq5l97vq6uoufn+7IoiiooINRBAURBBFRIqI9BIIoSSkZ9r9/ZFkJKaXyWSS1/Px8GGYe849nxkOIcx7zjmGZVmWAAAAAAAAAAAA0OqZoS4AAAAAAAAAAAAAzQPBEQAAAAAAAAAAACQRHAEAAAAAAAAAAKAUwREAAAAAAAAAAAAkERwBAAAAAAAAAACgFMERAAAAAAAAAAAAJBEcAQAAAAAAAAAAoBTBEQAAAAAAAAAAACQRHAEAAAAAAAAAAKAUwREAAAAAAAAAAAAkERwBAAAAAAAAAACgFMERAAAAAAAAAAAAJBEcAQAAAAAAAAAAoBTBEQAAAAAAAAAAACQRHAEAAAAAAAAAAKAUwREAAAAAAAAAAAAkERwBAAAAAAAAAACgFMERAAAAAAAAAAAAJBEcAQAAAAAAAAAAoBTBEQAAAAAAAAAAACRJ9lAXECz/+c9/tHTpUj3//PNKSUlp9PtnZ2frzTff1Pr163XixAmlpKRozJgxuvjii2Wa5HEAAAAAAAAAACD8tMjg6J133tHSpUuDdv+jR4/qj3/8o44dOyZJMgxDBw8e1KxZs7Rnzx7dcccdQRsbAAAAAAAAAAAgWFpccPTBBx/otddeC9r9fT6fnnjiCR07dkxxcXG6/fbbNXToUGVkZOiZZ57Rp59+qqFDh2rEiBFBq0GSLMuS3+8P6hjhxGazSSr5/QHCDfMX4Y45jHDG/EU4Y/4inDF/Ec6YvwhnzF+EM+Zv1UzTlGEYjXa/FhMcFRcXa8aMGVq9erWSkpICq4Ea27Jly7R//34ZhqH77rtPvXr1kiR16NBBv/71r3XPPffopZde0vDhw4O6ZZ3f79fhw4eDdv9wYpqm2rVrJ0k6cuQIgRrCCvMX4Y45jHDG/EU4Y/4inDF/Ec6YvwhnzF+EM+Zv9VJTUwPBWmNoMYfxvPnmm1q9erV69uypJ554ImjjLFmyRJI0bNiwQGhUJjU1VcOGDVNWVpZ++OGHoNUAAAAAAAAAAAAQDC0mODIMQ1OmTNEjjzyihISEoIyRl5enffv2SZJGjhxZaZuhQ4dKkr755pug1AAAAAAAAAAAABAsLWaruilTpshuD+7TycjICHz909VGZTp37ixJSk9Pr/P9a7O9XkJCQmDJWTC3wgsnJ78OvCYIN8xfhDvmMMIZ8xfhjPmLcMb8RThj/iKcMX8Rzpi/TavFBEfBDo2kkhVHkuRwOJSUlFRpm/j4eEkl+yzW1fTp02tsM2PGDCUlJclmswX2dMSPUlJSQl0CUG/MX4Q75jDCGfMX4Yz5i3DG/EU4Y/4inDF/Ec6Yv8FHNFcHHo9HkuRyuWQYRqVtoqOjJUlZWVlNVhcAAAAAAAAAAEBjaDErjppC2RK4iIiIKtuUrXxyu911vv+MGTNqbFN2fpPP56vXqqaWyDTNQMqcmZkpv98f4oqA2mP+ItwxhxHOmL8IZ8xfhDPmL8IZ8xfhjPmLcMb8rV5ycnLgiJvGQHBUB06nU1L12+KVhUvFxcV1vn9V299VhT8cFfn9fl4XhC3mL8IdcxjhjPmLcMb8RThj/iIc+T0e5Xy5VlnffiO/2y1HWic5BwyQLS4+1KUBtcb3X4Qz5m/wERzVQUxMjCTp+PHjVbYpOwcJAAAAAAAALYt7z27tePKvKk5PDxxpUCjJWBCh+BtuUmT/AaEtEACARsAZR3XQtm1bSSWriXJyciptk52dLUmKjIxsqrIAAAAAAAAQZN7Dh3XsX/9UcXp6hWuW263s/7yggjWfh6AyAAAaF8FRHcTExAT2Udy1a1elbbZv3y6p7tvOAQAAAADQWnhPZOvI++8pa/ZLyp49U/krPpGv9IOYQHNkeTzK+n8zZBUWVtPIUu5b8+TLzmq6woB68rvd8p04IcvnC3UpAJohtqqro4EDB+rjjz/W559/rsGDB1e4vmnTJklSt27dmrgyAAAAAACav4Kv1uqHdxbIV5Af2Oqr6Ot1ylv0gRJ+cYucvXqHuEKgIveO7fIdyayxneXxKP+TZYq7clITVAXUXe6Gb5Tx+lzl7twhWZYMl0uRAwYp9ooJMqOjQ10egGaCFUd1NGrUKEnSqlWrtGfPnnLX0tPT9eWXX0qShg4d2tSlAQAAAADQrBVt3qTsl2fJV5Bf4ZpVWKisGc+raMM3IagMqJ5nd+U7z1TGe+BAECsB6i/nvXe052+Pq2jvHsmyJElWQYEK167RsX/8Xd4jR0JbIIBmo1UHR9OmTdO0adP09ttv17pPr1691KtXL/l8Pj3++ONav369PB6PNm/erMcff1xer1epqakaNmxYECsHAAAAACC8+LKzdGL2zMCblZXy+5Uz73X5i6rZDgwIBZut1k0trzeIhQD1U7j2C+UtWVzldV9mpo4//6wst7sJqwLQXLXqrerKlsT76riX5913362HHnpIx44d01//+tdy1xwOh+644w7Z7a36pQUAAAAAoJyiDd/IKi6usZ0/L1eFX6xR9Ojzm6AqoHbs7TvUuq2jS9fgFQLUg+V2K+fN12ts5886rvxPlilm7LgmqAqoH8vvl/dwhrwnTsjWJkm2Nm1CXVKL1GLTjXnz5jVKm8qkpKTor3/9q15++WWtXr06EDx169ZNN998s3r27Fmv+wIAAAAA0FJ59u2tdVtvenoQKwHqztmnr4zoaFn5FbdZ/CnXOec2QUVA7bl3bK/1SqKiDd8QHKFZsixL2WtWK+OV2So4fDjwuD0tTfFTfy5Hly4hrK7labHBUbDFx8fr7rvv1o033qiDBw8qLi5O7dq1C3VZAAAAAAA0S4bdUeu2luUPYiVA3RkOh6LPHa28DxdW2845YJDsySlNVBVQO76cE7Vvm50VxEqA+sv94D0dXf5xhce96ek69s+nlXDtDYocPCQElbVMrfqMo8YQExOjU089ldAIAAAAAIBq2Duk1bptRLceQawEqJ/oCy6SPaXqUMhwRipu0lVNWBFQO7bE2m/lZcbEBrESoH4Kv/5KeR99WHUDj0fZs16U96SVSGgYgiMAAAAAABB0kaedJtlsNbYzXC5FDRveBBUB1bN8PhV/v1X5Kz9V3tKPVPjlF4q5+BLZExMrNrbbFXPxOBV/t1l5Sz9SweefqXjrd7LqeK42EAyOTp0lR+1WfUadPizI1QB1Y1mWct+ZX3NDv1+57y0IfkGtBFvVAQAAAACAoLPFxilqxEgVfr6q2nauc0bJiIhooqqAyhVt3qScea/Jn51d4ZqjsjfgvV7lvlvxDUtbcopixo5T5OnDZJh8fhuhYbpcihp+Ro3ff2W3y3Xm2U1TFFBL3kOH5D9Ru+0W3d9vleX38/22ERAcAQAAAACAJlF8wflatPsbHbXcMiypbZGhs3ItxZUuyrCltlPMRWNDWyRavfzly5T7ztuNci/fkUydeGW2vIczFHvZ+Ea5J1AfMRddrKKvvpQsq8o20eddIDOWrerQvFgF+bVv6/HIchfLiIwKYkWtA8ERAAAAAIQxf3GxLJUc3A40N/78PBVv3qzMzIOalbNT6325stJcsnI8svyWrBhT7yRJp+dZuibfqXZnna38T5bJKiqSGRMjW0qqnH37yajFFndAY/Ds36fcd2uxJVId5S/9SI5u3RXZf0Cj3xuoDVubNoq/+ufKf+2VSsMjR9duirn4khBUBlTP1rZtrdsakZEynJFBrKb1IDgCAAAAgDBjeTzKnP+Wji9fpoKMQ5JK3vBxjTpPUaedHuLqAMny+1Xw6XLlLnxfRyyP/tbRpqyT3oEwjB+3kPEa0hexhnZHuvXgu28FVh+VsSWnKObiS0q2+jKMJnoGaK0Ka1iR0RAFn60gOEKTsCxLxRvWq2DVZyXbfBUWyHBGypGaKme79io+dLBCH8Pp1JFHHpI/P0+G0ylbYhtFDRsu11nnsH0oQsqMT5C9XTt5MzJqbBs14kx+VmgkBEcAAAAAEEb8+fk6/twzMo5klnvcs2e3TuzZLe+hdMVcchl7uyNkLMvSiVdmq2jdV/JL+mfn8qFRVQ47pBntbHogvXxy5DuSqRNzZsmfm6Po8y8MTtFAKfeO7UG7t2ff3qDdGyjjz8/XiTmzVfzd5nKPWwX5cu/eJauKFcrubd//2NbrlTc/X7kH9iv/4yVKuOEmRfQ8Nah1A1UxDEOuUecr5425NbZ1nTOqCSpqHfiXBAAAAACECZ/Xo6Wzn9Oz1iE90l56vJ30arKp9JM+CJy/5CPlL1sauiLR6hWt+0pF676SJG2MNnSwDh9U/yFK2uWs/FruO/Pl2csb7wgyn6/mNvXl9wfv3oBKVntmz5lVITRqCH9urrL+84K8hw832j2BuooaMVL2du2rbeM6d7TsyclNVFHLR3AEAAAAAGFgXcZO3fTWU/qnN13row3tdErbIqXl8Yb+1NmmJzuYyik9Bib/ow/ly84Oab1ovQq/Whv4+tP4um8X80lC1W9VFKz5vF41AbVlS0mtdduIrt1k79S59vduyxuaCC73D9vk/m5Lo9/XKipS7vvvNPp9gZpYbrd82VmyioqUeNMtssfFV9rO0bWbYn52mXwnTsifnycrSFuOtiZsVQcAAAAAzdzq9G16ct0H8uRlVdlmq8vQ4x1t+t0Bn+LcbhVv3SLXyLOasEqghGf3rsDXOyLrHhztqqaP58C+etUE1FbU6cNU/O03NbZztE2Wfejp8uXlSH6/vOkHauwTc9HYxigRqFLxpo3Bu/fW72T5fDJstqCNAUglK+cK16xW/ifL5Mv8caWbERUlV9tkKedExT5Fhcp88DeBM+oMh0POgYMUc/Elsqe2a7LaWxJWHAEAAABAM3asMFf/+HqR/JYly1v9FkpHHNLM1JJ/5vmyqg6ZgKA66VO+3nqcT+3hTGuEkHPgIDn7D6j0ml/SlihDS+KktePO0trCI3J7PIr/+XVSDefKRZ52uiIHDwlCxcCPfFnHg3dzj0f+gvzg3R+Q5C8sVNbzzyrnjbnlQiNJsgoL5c44VGk/b0ZGuZ8/LI9HRV+v09HH/6K8pR8FteaWihVHAAAAANCMLd79rTz+ksDIsNlU08Ybm12GMhxST5cr+MUBlbC1ayfvvpKVQTE+Kauadx6MyEjJsmQVFwcei6kmH7UnpzRWmUClDMNQwo03K2/RB4Hz4vySPk4wtDze1JEIU86UFNnSN6oo87Bi/YYuzk7RZTffIvcrc2QVFFS4p71jJ8VNmtLEzwStkRFV+7/7jagoye8v9/23+g6GzDrcH6gry7J04tWX5d6xvTFvqrz335W9bVtFDjmt8e7bChAcAQAAoFXan3NUGVahnHa7oryWIkx+NEbz47f8Wrp3U+DXhtMpFVZ8U/JklqSV8aYGDOKT7QiNqOEjlFsaHJ2eZ2lpQuVLiMyoSMnukGw2+X0+WV6vJGlYnr/yG9vtihlzcVBqBk5mOByKHX+lnP0H6MQnH+v5wj3aEOGVGRklR3S0bFFRkiTL7VGO36f527/U+rhk/eneexWxcbOKt2yWVVAgMyFBzr795Dr7XLb3QpOI6HGKik46Z646ruFnyJt9Qu4dP8jKr3klkaN7dxl2fl5G8HgPpqt447dBuXfuu+/IOXioDINlzbXFn3YAAFAvB/OO6+vMPbKnOxXliFDXiER1jWsb6rKAahV7Pfp432Yt3r1B+3OPyeFwSJIiZGp0p776Wfch6hDTJsRVAj/KdRcpu/jHN3PMmBj5TpyQrCreWC+VkZYiW2JisMsDKuU6+1wVfb1Ont27NPqEXx8nVFwpZ5iGIpJTVHz8mAzZZGuTJG/mYTks6ewTla+ri7nkUtnbdwj+EwBKRfQ4RW/m7tLmPXmVvoFmedyS35IsS3tyjuh/v/9UT1xwtWIuHNPktQJSyRld+cuWyncks9p2MQMGyeg3QL41nytu4mSdeHlW9Te22xU/9eeNVyhQieItm4N2b9/xY/IdPSp7cnLQxmhpCI4AAECdfHfsgF7/frU2HdknSwq88e7xeNS7TQdd1WukhqZ2C22RQCWyivL1yJq3tPvEkQrX8j3FWrjrGy3ds0m/Hnapzmh/SggqBCry/TQgMk2ZcbHyn6h4KHCAYcjo1Cm4hQHVMExTbe78pXLff1ftVnyi809YWhb/4yd8DbtdEe3al3xy3eOVZZgyY2NlS07RpTuPKdZfca+6yNOHKfr8C5vyaQA6Vpirj09a9Xkyy+OR/P7A10ZEhL4/flDfZO7hZ2GEjBERoYTrblTWf/9P/hPZlbaJSE5R2q236cCaNfIXFirytGFyb9umwrVrqrxv7GXjZU9NDVLVQAl/bm5w75+XKxEc1RrBEQAAqLVVB77XP75eVPGNzFLfHz+oR7+Yr5sHnK9LurNFEpqPIq+7ytDoZG6/V3//6n39+cxJ6t+WN94RejGOSDlMW+CMI0myxcXLKiqW3O5K+9gSEpWcxJs7CC0jIkJxEyfL2X+AbvhijXz5e7QyokhGZJRMl0um0ympdMVGqUkDR2nauIEq2rBe7u+/l+Vxy9YmSZFDhsrZt1+ongpascW7v5XfqnwFnDc3J/C1Py9PtjYlK5Y/3L2B4Agh5ejSRW1/+wflvP1m+W3rbDZFDhykHr/8H9ljY+U9eEDewxkyDENx1/xc9rQ05S/9qNyb90ZkpGLHT1DUyDND8EzQ2phxcXVqa/l8tdpmsT73B8ERAACope1ZGXpm/YdVhkZl/Jal/25arnbRCfyjGc3Gsn1bagyNynj9Ps3eskJ/H8V2HAg9u8erYYU2rcxKl3xeWZZk2EwZDocsQ/rp/l+G3S5/YYEGf7hCh99cLltcnOztOyj6govk6NwlJM8BrZuzV285e/XWfZLOy9ipD3dv0DeZeyRJls8nw+fT0CK/Jk+YEgjso0efr+jR54euaKDUhiN7qrxmj42TFRmlkm/MP66o25BZdR+gqZgulxKuvV7eMRfLeyRThmnK0a277NHRssfGSpI86enyZ2XJn58vMzpa0aPPl+vc0fLs3SN/To7M0p8hzMjIED8btBbOU3srT+/Wqm302eeq6LstMtrb5d6xvcb29rQ02RLZkrwuCI4AAECtLNj+pbyVbB1TGb9l6e0f1hIcodlYvHtDndpvz8rQzuzD6pHAqg2EjnvHdmXPmaWzC7K0otOPh6pbfl/JtkiGWaGP5fWqXaFXvTN9siR5CwrkzchQ0TfrFTl4iOKvvUFG6RajQFM7vV0Pnd6uh7KK86Vop/K3fqeCT15QnK9AKc6EUJcHVFDo9VR5zXA4VNkR6x6/Tz6/Xzaz4vdooKnZU1Or3GLOc2C/JMl76KAiTukpqWSr0Yhu3ZusPuBkji5dFDn0NBWt/7rCteN2aUWcqR3Rkj8hTvGOY+pn5GrcpFvkfvLvktdb9Y1NU/E/v14G35frhFcLAADU6HhRntYe2lGnPluOHdC+nKNBqgiovX05R7U/91id+32evi0I1QC14808rKz/myF/Vpa6F0vnn6h8q6SfcljSdZmVh/xFG77RiblzGrNMoF6SomLVL6WzUr5Yr7jS6Vrw+WehLQqohMseUec+Eaad0AjNXtH+ffLnlGy36N7+Q4irAX4UN3mKIk7antZtSC+mmnqgq00ftDH0Q6xD+5Pj9c3RfZrtzNUt6xdo1dizpGq+78aM+5kcaR2bovwWhRVHAACgRluPpde4RV1lNh3Zp85xbYNQEVB7Oe7CevXLrWc/oDHkffCerOKiwK+vPuKXYZlallDZ59tLRPml2zP86lXN1C36ep2KR54l56m9GrNcoF7SbrldjvFXyu/3y7Dx9gSan6Gp3fRD1qE69TmNFfcIA4U7dypy8BBZliVfdpYsy5JhVP0zBtBUzOgYJd52hwpXf67j77ylf7T16YcoSaZNpsulyORkyTRl5ebK8npV6C7SK979Kpx4kX62aZ/c274v2UJUkhkfr9grJipy6GmhfVJhip/MAABAjQq9lR/AXmM/X/36AY3JaavftlwRvImJELG8XhVv/a7cY6aka476dXaO9EmCqbWxhtyl7++keKTRJ/w6O8dSdC0y/uLNmwiO0Cw42rSRze2W4a/7h1OApjCm60C9ue2LOn2Aalz3wcErCGggt8+rfdlH5B7QW2bXzoqLiAp1SUAFhmHIddbZejPOq13fr5FdJed4yjACK4ssj7v0/x4ZTqfePrZdAydN1oCYm+TLzpLpcsmMTyAQbQD+NQwAAGoU7ajfgaj17Qc0pk6xbRRlj6hzANqrTYcgVQRUz5+XK6u4uNJrnd3S9Zl+XZcpeSNM2SSZ7tqdP1fGd7zuWzcCQGvUJjJG47oN1ge71teq/YC2nTQwuUuQqwLqLiM/Wx/u3qDl+zaryCr5ucHj8Whg284a132wzmh/isxKzk4EQqXY59XSfZurPJvTcpecQVcWHEnSB7vWa9CIK2W6XE1WZ0vGdwQAAFCjgcmdFVnHVRumYej0VA5WRehF2iN0Xqd+VTfw+WQVF5f846N0W4N4p0sjO5zaRBUC5RmRNX/615DksiSnpZJ/LFfxj+rKmNExDagOAFqXXwwYrbPTal6l2TOxne4fPr4JKgLqZnX6Nt297CW9u2Odct1F5a5tPLpPf/vyPT32xQIV1XOXCSAYVqdvU56nqNJrltf744qjwh/3aP768C4dK8xtkvpaA1YcAUAIWJalbzL36MPdG7TtRIaKfB45Zer01B66pPsQ9UxsF+oSgXKiHU6d07G3lu7dVOs+p6V2V7IrLohVAbV3aY8h+njvJrn93sBjlsej4qNH5C8sklW6BY1hs8mMi9elfc6Ww7SFqly0cmZkpOxpafKmp9fY1h4XL1unTjKiXCpc83mt7h/RvUdDSwSAVsM0TP369Es1oG1nLdr9jfbmHC13vW1UrMZ0HajxPU6X016/7XGBYPkmc4+eWrewxu0Wvz68W09+9YF+N+IKVh6hWdj3k++1J7O8Xtli42Sp5EN/8vsl05TfsnQg97iSomKbqMqWjeAIAJrY8aI8Pf7FO9qRnSFJcpR+QjjXU6RP9m/RJ/u3aGT7nrrn9J/JyfkaaEau7Dlcqw/+oHxP5dsnnSzCtOuqXiOboCqgdjrEtNG9p/9MT677QF5/yQojb+ZhGSq/57Xl8+n0fcc0xrlH1inDZNgIjxAaMWMvUfbM/9TYrv31N+rgx0sUOfQ0eQ8dlGfP7mrbR5zaS5HDhjdWmQDQKhiGobHdBmlst0HalnVI+Xa//JYlR7FPA9p24o12NFv/3bis1md0rTu8S+sydml4+1OCXBVQs+rmrRkZKbOKf6fV5Uw6VI+/2QCgCeW6i/THVW8EQqOqrDm0XX9d+458HBSMZqRDTKL+OGKCYmo4t8hps+v+4Zexcg7NzogOPfXnMyfpFFcb+Y4eCWxLVybOJ115zK9bDvtVuGqlClZ+GppCAUmRg4fIdd4F1bZJHDVa8SPPlL+gQJbbrfhp18mMqfoTloYzUvHXXCvD5J+BAFBffZLSdGmvYbq893ANSe1GaIRm69vMvUrPy6pTn8W7vw1SNUDd1HfVEKuNGg9/uwFAE3rlu89q/YPbN5l7tHTvxiBXBNRN76Q0PTn65xrXbbCi7BHlrkXY7Dq/cz/9fdTPdXo7tkFC89S/bSf96US0/rDHrXFZlkblShfmSLdk+PX33T5dmmUF1iDlfbhQ/oKCkNaL1i3uyolKvONumfEJ5R43XC7FjZ+gtNvukCR5D6bLm5Ehe2qqku5/UBG9+1S4lz2to9r88h7Z2rRpitIBAECIfZb+fZ37fJO5u8I5SEAonNOxt2x1DOa7x6eoS1zbIFXU+rAHEgA0kUKvWysPbK1Tnw93b9DF3QYHpyCgntpFJ+i2QRfqun7n6rvj6XLGuORyOJVqRCna7gx1eUCNir/fqq7FUtdivxyOki0OPB6rQjurqEievXvk7NO3qUsEApy9+6jt7/8oz9698p84ITMhQRE9TpHN4ZBhGHIfPSJ/QYG8Bw9IkmwJiWpzx93ynTghz66dsvx+2dsmy96xI1svAgDQipworvsHoCxJue4CxUZUv8sEEGxtImN0RvtTtPrgD7XuM473zxoVwREANJHP07ep0OuuU5+9OUe1IytDp7DlF5qhKHuEhrXroXbtSuZnRkaG/GyviDDgz8+rfducnCBWAtSOGRklZ6/elV4r2rtXkuRNP1DucVt8vGxDhga9NgAA0Dw5zPp9YMRh8nYxmocb+o/Sd8fSlV2cX2PbQclddF7nfk1QVevBVnUA0ESOFNTvzccjhbxpCQCNyda29tsXmAkJwSsEaAT5WzZLkryHD8uXy88MAACgxCkJdf8AamJktNpExgShGqDuUlzxevTsq5Tiiq+23Wmp3fTbM8bLXs+wFJUjOAKAJmIYRs2NKuun+vUDAFTOWcn5L5WxtUlSRM9Tg1wNUH+W3y/3saNy9umriF695f6h9lt5AACAlu3CLv3rvOpoTJeBspm8XYzmo2Nskp6/4Eb9aug49WrTPvC4zTA1sn1PPXLWZP1x5ERF/uQMZjQcaw8BoImkxdTvMOoOMYmNXAkAtG6us0cp/+OlUg1bK7rOHSWDfzijGTNMU13+5zdsFQoAACqIc7p0Xqd+WrJ3Y63aR9kjNKbrwCBXBdRdhM2u8zr30wVdB6htSrKKvG7lHMsqOZQLQcO/hAGgiZzR/hTFRUTVqU/vNh3UOa72WyoBAGpmS0hQ9HkXVN8mOUWus89toooAAACAxnfTwPPVu02HGts5TJvuG3aZkqJim6AqoP7spk0xEVEyDWKNYOMVBoAmEmGz66I6fnrnZ9051BoAGovl98uXmyN/bq6ix46Ts1fvStsZTqcSrrtRlscjX26OLFZyAAAAIAw5bXY9fNZVGtN1YJXb1nWLT9afz5ysoandmrg6AM0ZW9UBQBOa0mukvjt6QFuPp9fY9oLO/XVOx8rf1ASaI8tinTiaJ8/evcpd9L7cP2yTfL6SB01TjrSOlbY3o2N0/F/Pyioq+rFtp84lYVO//vU+sw4AAABoak6bXXcMHqNr+56rT/ZvUaY3X26fVw6vdE5aL/VOSgt1iQCaIYIjAGhCETa7Hjpzov65frHWHPyh0u1YbYapy3ucpmv7ndPk9QF15c/P18FZLyrn669VkHFIZnS0Ivr0U8zYi2VPSQ11eYDyPvpQeYs+kH4abPr98uzfJ4fDUaGP7/ixim337lH2/5uhiFN7KfG2O2RU0g8AAABormIjInVFz2Fq166dJHFGIoBqERwBQBOLtEfo/uGX62DecS3es1E78jJV6HHL7peGteuhMV0GKiEyOtRlAjXyHDigrBnPyVa2KsOy5M/LU9FXa1W8ZZMSb7pVET1PDW2RaNUKv/pSeQvfb9R7un/YphOvvaqE625o1PsCAAAAANBcEBwBQIh0iGmjmweez6d9EJZ8uTnK+s8M+XNzZatk5YVVUKDj//qnku57sMrtwIBgsixLeR8uDMq9i9Z9Kc/5F8rRkbkNAAAAAGh5zFAXAAAAwk/uOwvkz8qqvpHfr9y332yagoCf8B3JlO/okaDd371ta9DuDQAAAABAKBEcAQCAOrH8fhVv2VSrtu4d2+XLzg5uQUAl/Dk5Qb2/Lzc3qPcHAAAAACBUCI4AAECdWIWFsgoKat3ed/xYEKsBKmfGxtWxfawMV+3Pl7PFx9e1JAAAAAAAwgLBEQAAqBMjKkqq5FyjKttHRgWxGqBytpQUmfEJtWobM3CQbIlt5Drr7Nrd3DQV0atP/YsDAAAAAKAZIzgCAAB1YpimIrp2q1VbW0qq7O3bB7kioCLDMBR7xYSa20VEqMMvbpbl8ShqxJmyd+pcY5+YcT+To0OHxigTAAAAAIBmh+AIAADUmevc0bVqFz1qtAzDCG4xQBUih56mmIsvkaqYg4bdro633aGIlFT5c3NlFRcr4bobZSa2qfKejs5dFH3hmGCVDAAAAABAyBEcAQCAOnMOGCh7Wsdq29jaJCly+IgmqgioyDAMxVxyqZLuvV+2lJSTLyiidx8l3fNrJZx5lrzZ2fLn5cp7MF321FS1ve9BRZ0xUkZk5I99TFOu0ecr8a5fybDZmv7JAAAAAADQROyhLgAAAIQfwzQVP+06HX/uH5LXW7GBzab4n18n0+ls+uKAn3B06aK2v/uT/Dkn5M/Lly0xUWZ0tEyz5DNURXv3SJK8hw5KksyYGMVPu1ZxV02V98gRGaYhW1JbGXU42wsAAAAAgHBFcAQAAGrky85WwYpP5N65Q/68XMk0ZUtIVET3HvL/sK1Ce0eXrspbvEi+7CzJkmwJCYroeapco86TGRUVgmeA1s4onbO2hMQK1wpLgyNP+oHyfRwOzjICAAAAALQ6BEcAAKBahWu/UM5b82QVF5V73JeZKUlyVLIKw7NrZ/m2RzLl3v6D8j9ZptjLr5DrrHOCVzBQB5ZlKffrdZIkz+7d8hcUyHS5QlwVAAAAAAChQ3AEAACqVLRxg068+nKj3c8qLFTOG6/JdLkUOeS0RrsvUF++/Hy5Tu0lb7v2sixL3iOZiujSNdRlAQAAAAAQMgRHAACgUpbfr5zXXwvKvU+88bqc/QbIiIgIyv2B2rLHxKj9z6+TkZEhv98f6nIAAAAAAAg5M9QFAACA5smzZ3fJeUZBYBXky/2T7ewAAAAAAAAQeqw4AoBmwJOVpcKv18mbc0K2hERF9OotMzIy1GWhlfNmHg7q/X1Hj0jqE9QxAAAAAAAAUDcERwAQQpbXq8NvzdOR996Ru6Dgxwt2u+ImTZHrzLNCVxxaPTMyqvaNDUOG0ymruLj2XaJc9agKAAAAAAAAwcRWdQAQIpZlKXvuK8p8+01ZHk/5i16vcl5/VbnvvROS2gBJcnTtWuu2sUOGyoyJlXPAwNp1MAw5OnWqX2EAAAAAAAAIGoIjAAiRgk+Xq/DLL6ptk//xEhV/t6WJKgLKsyUkKnLYGTW2MxwOtf/5dbIKCxQ7/krJ4aixT8zYcbKnpDZGmQAAAAAAAGhEBEcAEAKW36/8pUtq1Tb3/XeCWwxQjbgJE2VPS6u2Tftrr5ejbVv5Cwtla5OkuAmTq21vT+uo6LHjGrNMAAAAAAAANBKCIwAIAV/mYfnzcmvV1pueLsvtDnJFQOXM6Bgl/foBRY+5WDKM8tfi4tTm1ulKumisig8ckCxL3sMZcp11thJunS4zLq7C/Zz9+ivxtukybLamegoAAAAAAACoA3uoCwCA1sjy+urU3l9UKFtERJCqAapn2O2KvfRyRZ0+TJ59+2QVF8nevoMc3XvIZi/5UaJw7x5JJUGnI62jIvsPkPORx+XZtVPeQwclR4QcHTrI3qmzjJ8EUAAAAAAAAGg+CI4AIATsKSm1bmu4omXGxAaxGqB27O3ay96ufaXXivbulSR5DqYrqvQxwzQVcUpPRZzSs4kqBAAAAAAAQEOxVR0AhIARESFn3/61aus662wZJt+u0XxZlqX8rd9Jkjy7doa4GgAAAAAAADQE70QCQIi4zju/5kamKdc55wa/GKABitMPyHQ4FNG1myTJm3k4xBUBAAAAAACgvtiqDgBCxNmrtyIHDpKvdKVGZWLG/Uy2hMQmrAqou8iOndTjL48rIyNDfr8/1OUAAAAAAACgAQiOAKAJ+YuK5D10UP78fBkOh2LGjpPb7Vbhzh0V2joHDJKzd18Vf7dFMk3ZEhNlS05h2zoAAAAAAAAAQUNwBABNwF9UpLxFH6jg888kj6fcNWdsbKV93Nu26timb8s9ZktOUczFlyjytNMJkAAAAAAAAAA0OoIjAAgyX3a2jj/7lHzHjlV63V9UVOnjlttd8V5HMnViziwVffO1Em6+jfAIAAAAAAAAQKPiHUcACCLLspQ968UqQ6P6Kt68SXmLFzXqPQEAAAAAAACA4AgAgsibfkCeXTuDcu+CZUtl/WTbOwAAAAAAAABoCIIjAAii4u+3Bu3elscjT/qBoN0fAAAAAAAAQOtDcAQAQWRVcX5RuNwfAAAAAAAAQOtCcAQAQWRLSqp1W3tqO5kJCZJZ+2/NtjZt6lEVAAAAAAAAAFSO4AgAgsjZp69ks9WqbfR558uMilLUiDNr1T7ilJ6ytU1uSHkAAAAAAAAAUI491AU0Nq/Xqw8++EArVqzQ4cOHFRsbq5EjR+qqq66Sy+VqtHEsy9KyZcsC4+Tn5ysxMVFdunTRuHHj1L9//0YbC0D4siUkKmbsOOUt+qDadrFDT5ej/wDlfbxUsZdfoeItm+U/kV1le8PpVNy0a2XUYXUSAAAAAAAAANSkRQVHXq9XTzzxhDZt2iRJMgxDWVlZWrRokbZs2aJHHnlEUVFRDR7Hsiw999xzWrVqVWAcScrMzFRmZqa++uorTZgwQVOnTm3wWADCX/RFYyVJeYsXSX5/xet9+qrjbdN1cPMm+XNzZURFKfGW25T1n/+rPDwyDMVNmiJ7UtsgVw4AAAAAAACgtWlRwdHMmTO1adMmmaapadOmacyYMXK73Zo1a5Y+++wzzZ07VzfddFODx/n000+1atUqtW3bVrfffrt69+4t0zR18OBBvf/++1qxYoXmz5+vwYMHq3fv3o3wzACEM8NmU8zFl8jZt59y3n5T3oPpsrxeOTp3kev04eo2cZIMu12e9AOyiovkzzouR+cuSrr/QRWs+ERFG76R78gRGVFRcnTuothLL5ejc5dQPy0AAAAAAAAALVCLCY7279+vZcuWSZKmTp2qyy67TJLkdDo1ffp07dy5U0uWLNHYsWPVsWPHBo21cuVKSdL111+vgQMHBh7v3Lmz7rzzTu3bt0+7d+/WunXrCI4ABDg6d1HS//xGlmVJKlmtaJqmDHvJt2LPgQMl/09Pl61NkmyxcYq9dLxiLx0vy7ICqxsBAAAAAAAAIFhazOEYS5culWVZio+P16WXXlrumt1u17hx42RZltauXdvgsY4fPy5Jat++faXXk5KSJElut7vBYwFoeQzDqDQE8qaXBEfeg+mV9gEAAAAAAACAYGsxwdHWrVslScOGDZPdXnEh1ZAhQyRJGzZsaPBYbdq0kSStX7++wrW8vDxt27ZNktS9e/cGjwWgdSg+mC733j2SpKIN62VVchYSAAAAAAAAAARbi9mqLiMjQ5LUq1evSq+npKQoKipK6ekVP8lfVxdccIG2bNmit956S06nU2eccYZcLpf27NmjOXPmKDc3V+3bt9fIkSMbPBaA1sGypMTrfyG/VRIYWcXFMqKiQlwVAAAAAAAAgNamRQRHbrdbxcXFkqrePk6S4uLidPjwYRUUFMjlctV7vLPPPluFhYWaM2eOXnrpJb300kvlrg8ZMkS33367nE5nne577NixGtskJCTIZrNJkkyzxSwYa5CTXwdeE4SbsjkbmZamaIdDflYaIczwPRjhjPmLcMb8RThj/iKcMX8Rzpi/CGfM36bVIoIjr9cb+Do6OrrKdjExMTp8+LCys7MbFBxZlqX8/Hz5fL4K18oOu8/KylJiYmKd7jt9+vQa28yYMUNJSUmy2Wxq165dne7fGqSkpIS6BKDemL8Id8xhhDPmL8IZ8xfhjPmLcMb8RThj/iKcMX+Dr0VEcycnjBEREVW2Kzv7yO12N2i8t99+W3PnzpXH45HNZlOPHj3Uu3dvxcTEyLIsff311/r973+vb7/9tkHjAAAAAAAAAAAANKUWseLo5LCobBu3yhiGIUmBbe3qIycnR/Pnz5ck9enTR3fffbfatm0rqSSQWrhwoV5//XX5fD69/PLLevLJJwPj1mTGjBk1tklISJAk+Xw+HTlypH5PooUxTTOQMmdmZrLVF8IK8xfhjjmMcMb8RThj/iKcMX8Rzpi/CGfMX4Qz5m/1kpOTq81G6qpFBEemacrlcqmgoEBZWVlq06ZNpe3y8/MllWw1V1/r16+X1+tVTEyMfvOb3yg2NjZwLSIiQldeeaWKioq0YMEC7d+/X0ePHlVycnKt7p2UlFSnWvjDUZHf7+d1Qdhi/iLcMYcRzpi/CGfMX4Qz5i/CGfMX4Yz5i3DG/A2+FrFVnaTAqp/MzMwq22RnZ0uSIiMj6z3O8ePHJUm9evUqFxqd7Iwzzgh8nZWVVe+xAAAAAAAAAAAAmlKLCY66d+8uSdq1a1el1zMyMpSbmyvpx5CpPspCp9ou+4qJian3WAAAAAAAAAAAAE2pxQRHAwcOlCStWbOm0mVqGzdulFSy119Dwpy0tDRJ0r59+6pss2XLFklSfHy82rVrV++xAAAAAAAAAAAAmlKLCY6GDRum6OhoZWZmasmSJeWuud1uLVy4UJI0ZMiQBo3Tr18/JSUlKSMjQ2vWrKlwPSMjQwsWLJAk/exnP5NptpiXGAAAAAAAAAAAtHD2UBfQWJxOp8aOHav58+dr9uzZ8vv9Ou+885SVlaUXX3xRhw4dks1m07hx48r1mzZtmiRpwoQJmjhxYo3j2O12/c///I/++te/6tlnn9Vnn32mbt26yTAM7du3T+vWrZPX69WQIUN0+eWXB+W5AgAAAAAAAAAABEOLCY4kaeLEidq+fbs2bdqkWbNmadasWeWuT506NbDVXBmPxyNJ8vl8tR7n1FNP1VNPPaUPP/xQ3377rbZs2aLi4mK5XC717NlTZ599ti644AJWGwEAAAAAAAAAgLDSooIjh8Oh3/72t1qwYIEWLlyogoICSVJiYqKuvvpqjR49ukKfefPm1WusxMREXXPNNbrmmmsaUjIAAAAAAAAAAECz0aKCI6lkK7nJkydr/Pjx2r9/v+x2uzp16sTqnxZq05F9WrznW+0vzJLb61WkYdNZHXrpoi4DlBAZHeryAAAAAAAAAAAIKy0uOCoTERGhHj16hLoMBMmxwlw9vvYd7cw+LKlktZlUsvXgnhNH9Ma2NZrSa6Qm9xoRyjIBAAAAAAAAAAgrLTY4Qst1vChPD658TUcKc6ps4/X79OrWVSr2efTzvuc0YXUAAAAAAAAAAIQv9m9D2Pm/bz+uNjQ62Vs/rNXWY+lBrggAAAAAAAAAgJaB4Ahh5WhBjr7K2FmnPot2fROkagAAAAAAAAAAaFkIjhBWPt63WX7LqlOfNYe2K9ddFKSKAAAAAAAAAABoOQiOEFYy8rPr3Mfr9+lYLbe2AwAAAAAAAACgNSM4QqtQtzVKAAAAAAAAAAC0TgRHCCsprrg697EZptpGxQahGgAAAAAAAAAAWhaCI4SVCzoPkGkYdepzRvtTFBsRFaSKAAAAAAAAAABoOQiOEFZSo+M1JKVrnfpc0n1IcIoBAAAAAAAAAKCFIThC2Ll90EVqExlTq7aX9ThN/dt2CnJFAAAAAAAAAAC0DARHCDvJrjg9ds5UdYpNqrKNaRiaeOoZ+kX/0U1XGAAAAAAAAAAAYc4e6gKA+mgfnaBnz79e6w/v1uI9G7Uv/5iKfV65IqJ1Vlovje06SMmuuFCXCQAAAAAAAABAWCE4QtgyDVOnt+uh4R16ql27dpKkjIwM+f3+EFcGAAAAAAAAAEB4Yqs6AAAAAAAAAAAASCI4AgAAAAAAAAAAQCmCIwAAAAAAAAAAAEgiOAIAAAAAAAAAAEApgiMAAAAAAAAAAABIIjgCAAAAAAAAAABAKYIjAAAAAAAAAAAASCI4AgAAAAAAAAAAQCmCIwAAAAAAAAAAAEgiOAIAAAAAAAAAAEApgiMAAAAAAAAAAABIIjgCAAAAAAAAAABAKYIjAAAAAAAAAAAASCI4AgAAAAAAAAAAQCmCIwAAAAAAAAAAAEgiOAIAAAAAAAAAAEApgiMAAAAAAAAAAABIIjgCAAAAAAAAAABAKYIjAAAAAAAAAAAASCI4AgAAAAAAAAAAQCmCIwAAAAAAAAAAAEgiOAIAAAAAAAAAAEApgiMAAAAAAAAAAABIIjgCAAAAAAAAAABAKYIjAAAAAAAAAAAASCI4AgAAAAAAAAAAQCmCIwAAAAAAAAAAAEgiOAIAAAAAAAAAAEApgiMAAAAAAAAAAABIIjgCAAAAAAAAAABAKYIjAAAAAAAAAAAASCI4AgAAAAAAAAAAQCmCIwAAAAAAAAAAAEgiOAIAAAAAAAAAAEApgiMAAAAAAAAAAABIIjgCAAAAAAAAAABAKYIjAAAAAAAAAAAASCI4AgAAAAAAAAAAQCmCIwAAAAAAAAAAAEgiOAIAAAAAAAAAAEApgiMAAAAAAAAAAABIIjgCAAAAAAAAAABAKYIjAAAAAAAAAAAASCI4AgAAAAAAAAAAQCmCIwAAAAAAAAAAAEgiOAIAAAAAAAAAAEApgiMAAAAAAAAAAABIIjgCAAAAAAAAAABAKYIjAAAAAAAAAAAASCI4AgAAAAAAAAAAQCmCIwAAAAAAAAAAAEgiOAIAAAAAAAAAAEApgiMAAAAAAAAAAABIIjgCAAAAAAAAAABAKYIjAAAAAAAAAAAASCI4AgAAAAAAAAAAQCmCIwAAAAAAAAAAAEiS7KEuAAAAAAAAAADQ/FiWJb/fL8uyQl0KWjnDMFRUVCRJ8ng8LWZOGoYh0zRlGEaoSymnxQVHXq9XH3zwgVasWKHDhw8rNjZWI0eO1FVXXSWXyxW0cXNycvTrX/9aJ06c0IQJEzR16tSgjQUAAAAAAAAAweL3+1VYWKji4mL5/f5QlwNIKnkPXpJ8Pl+IK2l8DodDkZGRcjqdoS5FUgsLjrxer5544glt2rRJUklal5WVpUWLFmnLli165JFHFBUVFZSx//Of/+jEiRPq0qWLJk2aFJQxAAAAAAAAACCY/H6/cnJy5PP55HQ6FRERIcMwmt2KCLQ+dntJnOH1ekNcSeOwLEuWZcnr9crtdis3N1cej0fR0dEh//PWooKjmTNnatOmTTJNU9OmTdOYMWPkdrs1a9YsffbZZ5o7d65uuummRh935cqVWrt2rWw2m+68887ABAYAAAAAAACAcFJYWCifz6e4uDg5HI5QlwMEtNT5GBERIZfLpaKiIuXl5clmswVtAUxtmSEdvRHt379fy5YtkyRNnTpVl112mZxOp2JjYzV9+nR16NBBS5Ys0YEDBxp13KNHj2rmzJmSpEmTJqlr166Nen8AAAAAAAAAaAqWZam4uFhOp7PFvkkPNFeRkZGKiIhQUVFRyM9wajHB0dKlS2VZluLj43XppZeWu2a32zVu3DhZlqW1a9c22piWZWnGjBkqKChQjx49dMUVVzTavQEAAAAAAACgKfn9fvn9fkVERIS6FKBVcjqd8vl8IT9brMUER1u3bpUkDRs2rNKt4oYMGSJJ2rBhQ6ON+eGHH2rTpk1yOBy68847ZbPZGu3eAAAAAAAAANCUylY5hPp8FaC1Ms2SyCbUK45azGE8GRkZkqRevXpVej0lJUVRUVFKT09vlPEOHjyouXPnSpL69++vtWvXaunSpYqOjtaAAQPUp0+fRhkHAAAAAAAAAJoSwREQGs3lz16LCI7cbreKi4slSe3bt6+yXVxcnA4fPqyCggK5XK4Gjfniiy/K7XZLknbu3CnLsuTz+bRjxw699dZbGjx4sO68807Fx8fX+p7Hjh2rsU1CQkJgZVNZ+tjanfw68Jog3DB/Ee6YwwhnzF+EM+YvwhnzF+GM+YtwVpv521zetAZaO8MwQvr3TIsIjrxeb+Dr6OjoKtvFxMTo8OHDys7OblBw9OWXX2rTpk2SpIsvvljXXXddYHu8oqIivfLKK1qyZIkefvhhPfHEE3I6nbW67/Tp02tsM2PGDCUlJclms6ldu3b1fg4tVUpKSqhLAOqN+YtwxxxGOGP+IpwxfxHOmL8IZ8xfhLOq5m9RUZFycnJkt9vlcDiauCqgdlr63LTZbEpOTlZkZGTIamgRH404OXmr7uC2snCnbKVQfb3//vuSpE6dOumGG24od6ZSZGSkbrrpJvXo0UMHDhzQ8uXLGzQWAAAAAAAAAABAU2kRK45ODovKtnGrTNlSy7Jt7erD4/Hohx9+kCSdf/75lS4XMwxDp59+unbu3Kmvv/5a48aNq9W9Z8yYUWObhIQESZLP59ORI0dqX3gLZppm4FMSmZmZ8vv9Ia4IqD3mL8IdcxjhjPmLcMb8RThj/iKcMX8Rzmozfz0ej3w+X7kdnpoLz969Kly/Tr4jmTIiIxVxam9FDh4sMzIq1KWhiZStNPJ4PCGuJHi8Xm/gvf+6rKxKTk6uNhupqxYRHJmmKZfLpYKCAmVlZalNmzaVtsvPz5ckWZZV77Fyc3MD/U855ZQq25WdbXT06NFa3zspKalOtfDDSUV+v5/XBWGL+YtwxxxGOGP+IpwxfxHOmL8IZ8xfhLOq5m9D3jcNFsvnU+7bb6pg1cpyjxet+0r5Hy9R4u13yt62bYiqA4LDsqyQ/h3TIraqk6S2pd8cMjMzq2yTnZ0tSQ3aG/DkM5SqO0+psLBQkmp9vhEAAAAAAAAAoLzcBW9XCI3K+DIP69hTf5P38OEmrqrhnnrqKaWlpemee+4JdSlBN2nSJKWlpemNN94IdSmopRYTHHXv3l2StGvXrkqvZ2RkKDc3V9KPIVN9OJ1OJScnS5LS09OrbLd9+3ZJUlpaWr3HAgAAAAAAAIDWquibr1Ww8tNq21j5+cp5e16zXC0FhKsWExwNHDhQkrRmzZpKl3Bt3LhRUslefzExMQ0aa8iQIZKk9957r9Kx9u7dq6+++kqSdPrppzdoLAAAAAAAAABojQrWflGrdu7vt8pbzYf8EVodOnRQjx49FBcXF+pSUEstJjgaNmyYoqOjlZmZqSVLlpS75na7tXDhQkk/hj4NceWVV8rpdGr79u166qmntG/fPlmWpaKiIq1cuVKPPPKIfD6fOnbsqBEjRjR4PAAAAAAAAABobbz799W+7aGDQawEDfHPf/5TK1eu1Lhx40JdCmrJHuoCGovT6dTYsWM1f/58zZ49W36/X+edd56ysrL04osv6tChQ7LZbBUm57Rp0yRJEyZM0MSJE2s1VlJSkn7961/r2Wef1VdffaWvvvpKhmGUWw4ZFxen++67T6bZYrI5AAAAAAAAAGgyhiOi9o3Zqg5oNC0mOJKkiRMnavv27dq0aZNmzZqlWbNmlbs+derUCmcOeTweSZLP56vTWIMHD9ZTTz2l5cuXa926dTp69Kjy8/OVkJCgQYMGadKkSQ06SwkAAAAAAAAAWjN7Wkf5jh+rVVtH9x5BrgbhzrIsGYYR6jLCQotaDuNwOPTb3/5WkydPlsvlCjyemJioO+64Q+PHj6/QZ968eZo3b56uuuqqOo/Xpk0bTZo0SX/961/13//+V6+99ppmzJih22+/ndAIAAAAAAAAABogasTIWrVz9h8ge5i/H7t27Vpde+21GjhwoLp166bRo0dr5syZlbY9cuSIHnnkEZ1zzjnq3r27+vXrp2nTpumjjz6qtP0999yjtLQ0PfXUU5Ve379/v9LS0iosuiizYsUK3XDDDRo8eLC6du2qIUOGaOLEiXrvvffk9/trfG6TJk1SWlqa3njjjWrbldWwefNmFRcX69lnn9WoUaPUo0cP9evXTzfeeKN2795daV/LsjR79mxdeOGF6t69u/r06aNbbrlF+/bt0/z58zVmzBh17txZixcvrrFetLAVR5Jkt9s1efJkjR8/Xvv375fdblenTp3YMg4AAAAAAAAAwoizX3/Z27WTNyOj2nbRF1zURBUFx+uvv677779fPp8vcCTK9u3b9cc//lGGYejGG28MtP3iiy908803KysrS5JkmqaKi4v16aef6tNPP9WECRP0j3/8Q3Z747z1/9///lcPPfRQ4NemaSozM1OZmZn64osvtGzZMj377LONMlaZwsJCTZkyRV999ZUkyTAMFRUVaeHChdq4caOWL19ebuGIJN17772aN29eoH1xcbEWLVqk5cuXy+12q02bNqw2qoMWm6ZERESoR48e6tKlC6ERAAAAAAAAAIQZwzQVN+UaqZr3d11nn6uIHqc0YVWNa+PGjXrggQc0aNAgLVy4UHv37tXSpUvVp08fSdIzzzwTaLtnzx7dcMMNysrKUp8+ffTmm29q79692rhxo375y1/KNE3Nnz9fjzzySKPUVlhYqCeeeEKSdMkll2jNmjXau3evtm/frmeffVYOh0NvvfWWNm/e3Cjjlfnd736nb775Rg888IC2bNmibdu26Q9/+IOkktVRb775Zrn269at07x582Sz2fSvf/1Lu3bt0saNGzV+/HgVFRXpkksu0bfffqsffvhBo0aNatRaW6oWt+IIAAAAAAAAABCePOkH5N72vXwnsiVJZmycXKPOU8Enyyq0tXdIky01VbnvLpDl88mMi1NEl65ynNIzbFaXbNu2TcOGDdPrr7+uyMhISVLfvn31xBNP6IorrtDRo0d17NgxJSUl6emnn1Zubq7S0tL09ttvKz4+XpKUlJSkBx54QHFxcXr00Uc1a9Ys3XjjjerWrVuDavN4PCoqKpIk/c///I86d+4sSXK5XJo0aZKOHTumw4cPN2iMynz33Xd6/vnndeWVVwYemz59ulauXKmVK1dq27Zt5dp/+eWXkqRRo0bpiiuukFTymjz88MN69913tXDhQp04cSLweqFmBEcAAAAAAAAAgJDy5+Up5615Klq/rtZ9vAfTlfv2mxUed3TrrtjLxivilJ6NWWJQmKapp556KhAalRk4cGDg64KCAiUmJmrp0qWSpGuvvbbSEOSmm27S008/rYKCAi1dulS33nprg2qLi4vTwIEDtXHjRr300kv64x//qLi4uMD12267rUH3r8pFF11ULjQqM3jwYK1cuVIFBQXlHv/pa1emLDy0LEsej6fxC23B2MMNAAAAAAAAABAy/vx8HXvqb3UKjarj2b1Lx//1T7l3bG+U+wXToEGD1KNHjwqPO53Ocr/OyspSTk6OJKlXr16V3qvs+BapZFu72qouVHnmmWfUtWtXzZ07V/3799eoUaN0yy236F//+pd27NhR6zHqorLQSCp5fpUZO3asXC6XVqxYoffee09ut1vHjx/Xn//8Z0lSt27d1LZt26DU2lIRHAEAAAAAAAAAQibn7TflO3ascW/q8yl75n/lL91qrbnq2rVrrdpZlhX4urpt+Mra1WWrvoMHD1Z5rVevXlq5cqXefPNN3XfffRo4cKB++OEHPf744xo1apR+97vf1Xqc2urSpUud2qelpekXv/iFfD6fpk+fru7du2vAgAFasGCBHA6HHn/88UavsaUjOAIAAAAAAAAAhITldqv422+Ccm9/Xq6Kt2wOyr0bi91eu9Nk2rRpE9gm7vvvv6+0jdvt1q5duyRVHr74fL5K+y1ZsqTasW02m84880zdfffdeu6557RixQq9//77iouL0+zZs/X+++/X6jnUVm1fkzKvvfaaXnjhBV155ZU67bTT5HQ6FRcXpwsvvFDvvvuuzj333EatrzUgOAIAAAAAAAAAhITn0EFZQTx/xpt+IGj3bkqmaeqiiy6SJL3yyiuBbetONnPmTBUUFMhms2nMmDGBx6OioiRJO3furNBn69atevXVVysdc+bMmerTp49uuummCteGDh2qESNGSJLWrl1b9yfUiB599FF5vV797W9/03vvvaedO3dq69atmj17tgYNGhTS2sIVwREAAAAAAAAAAM3cvffeq9jYWB04cECXX365Vq5cqcLCQqWnp+svf/mLHnvsMUnSDTfcUG4LvN69e0uSFi9erM8++yzw+BdffKFrrrlGCQkJlY43YMAA5eTk6OOPP9YLL7ygjIwMWZalgoICLViwQCtXrpSkkJ8fVHYe1D/+8Q+lp6eX29YP9UNwBAAAAAAAAAAICXtKqlTL83iMyEjZO3WWo8cptb6/LSWlvqU1O127dtVL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pQiOAAAAAAAAAAAAIIngCAAAAAAAAAAAAKUIjgAAAAAAAAAAACCJ4AgAAAAAAAAAAACl7KEuAAAAAAAAAACA6jh3LpfhKZLliFRxj/NDXQ7QohEcAQAAAAAAAACatcidn8gszJY/KoHgCAgytqoDAAAAAAAAAACAJIIjAAAAAAAAAABCbvPmzbr55ps1bNgwdenSRf369dOUKVP01VdfVdr+jTfeUFpamiZNmtTElaKlY6s6AAAAAAAAAABC6NNPP9X1118vr9crSbLZbMrOztaqVat04YUXatiwYSGuED+1f/9+zZs3T3FxcbrllltCXU6jIjgCAAAAAAAAACCE/va3v8nr9WrChAl69NFHFR8fr5ycHH355ZeKjY2ttE9cXJx69OihDh06NHG1kEqCo6efflodO3YkOAIAAAAAAAAAAI1n69atkqS77rpL8fHxkkqCoQsvvLDKPuPGjdO4ceOapD60LpxxBAAAAAAAAABACHk8HkmSy+UKcSUAwREAAAAAAAAAAABKERwBAAAAAAAAANCEJk2apLS0tMB/ZUaMGFHu8aeeeqrKe7zxxhtKS0vTpEmTqh3rnnvuUVpamv70pz9Jkj799FNdddVV6tevn7p3764xY8bo3XffbZwndpI1a9boxhtv1MiRI9WtWzf169dPU6ZM0eLFi6vs4/P5NGfOHF1xxRXq27evunXrphEjRujmm2/W119/XWW/oqIi/fvf/9Yll1yiXr16qXv37jrrrLP0y1/+Utu3b6+yn9/v1/z58zVlyhT169dPXbt21RlnnKEHH3xQ6enpFdqf/HszefJkSdKBAwfKPZ6WlqbVq1fX4ZVqflrcGUder1cffPCBVqxYocOHDys2NlYjR47UVVdd1STL/BYvXqyZM2dq1KhRuvPOO4M+HgAAAAAAAAAgvDgcDjmdzsCvi4uLJUkREREyDCPwuM1ma9Rx/9//+3965JFHZFmWDMOQZVnasmWL7rjjDrlcLl100UWNMs7jjz+uf/3rX4Ff22w2ZWdna9WqVVq1apUeeugh3XrrreX6WJal22+/XYsWLQo8Zpqm9u/fr/3792vx4sX6xz/+EQhsyhQXF2vy5Mlav359uX579uzRnj179N5772nWrFkaPXp0uX6FhYW66aabtGLFisBjhmHowIEDmjNnjt577z3NnTtXgwcPDlw/+ffM7/cHthg8+fGy8cNZeFf/E16vV0888YTmzp2r9PR0+Xw+ZWVladGiRXrooYdUWFgY1PH37t2rOXPmBHUMAAAAAAAAAEB4e+2117Rr167Af2VWrlxZ7vF77rmn0cZcvXq1HnnkEZ1zzjlatmyZ9u7dqwULFqh9+/aSpGeffbZRxvn6668DodF1112n9evXa9++fdq6davuuOMOSdLf//73Cu/Xr169OhAa3Xfffdq0aZP279+vb7/9Vrfddpssy9LDDz8sr9dbrt8777yj9evXy2az6X//93+1bds27d+/X19++aUmTJggj8ejRx99tEKd9913n1asWKG0tDTNnDlTO3bs0J49e/Thhx9qyJAhOnHihO666y75/f5An5N/b+bOnStJ6tixY7nHd+3apREjRjTKaxkqLWrF0cyZM7Vp0yaZpqlp06ZpzJgxcrvdmjVrlj777DPNnTtXN910U1DGLioq0jPPPBNIGAEAAAAAAAAAaC62bt2q888/Xy+99JLs9pJoYPjw4frd736nu+++W99//32jjHPgwAGNHTtWLpdLjz32WGD1TVxcnB588EHNmTNHubm52rZtW7nVPPn5+ZKkhISEcoFZ27Ztdd999wXuU1RUpJiYmMD1vLw8SVKfPn00bdq0wONpaWn6/e9/r+TkZDkcjnI1fv/991qwYIFsNpvmzJmjXr16Ba4NHDhQM2bM0MiRI7V7926tXbtWI0eObJTXJly0mOBo//79WrZsmSRp6tSpuuyyyySVLBGbPn26du7cqSVLlmjs2LHq2LFjo4//4osvKj09PbC8DwAAAAAAAABQkXPnckXu/KROfczC7MD/45f8sU59i3qcp+Ie59epT0vkdDr15JNPBkKjMgMHDpSkRtuxa/z48Ro/fny5x/Ly8rRx40YtXrw4EPQUFBSUazNkyBC5XC5lZ2frlVde0ZQpUwKBT1RUlB5++GFJqrB4Y+TIkTJNUz/88IM++ugjXXTRRYGQqV27doGznU62fPlySSVnKp1/fvVz49tvvyU4CldLly6VZVmKj4/XpZdeWu6a3W7XuHHj9OKLL2rt2rWNHhx99tlnWrFihWJiYjRs2DB98kndvukBAAAAAAAAQGtheIoCQVB91LWv4Smq91gtyciRI5Wamlrh8Z+ez9MYcnJy9Oabb2rlypX67rvvdPDgQUklZwhVtfgiOTlZTz31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S5Zo06ZNatasmSZNmuTucoBSyc7Olo+Pj6KionT33XcX2SYqKkqSlJycXJGlAaVy991367///W+xv4l2/vx5SVJISEgFVgVcmdOnT2v27NkyGAwaPHiwu8sBLis/OGrevLmbKwGu3Ndff60jR47I399fY8aMIbiHR7Pb7frss88kSffff798fX3dXBFQWP69hbp16xZ5vHbt2pKknJycCqsJKI29e/cqIyNDkoq8B2E0GjVw4EBJ0sWLFxUfH1+h9VV1bFUHj2UwGHTPPfdo2LBh7OUOj+Hn56fnnnuuxDb5KzX8/f0roiSgzIp7robValV0dLQkqUuXLhVZElBmFotFU6ZMkdls1h133KFOnTppxYoV7i4LKFZCQoLS09MVEhKiiIgId5cDXJHY2FgtXbpUkvTggw86b1YCnurHH39UXFycWrZsqR49eri7HKBI+bv07Nixw3mT/VK///67JFY0o/I5ffq0JKl69erFfv9bq1Yt58eZmZkVUte1guAIHuuee+4p9uYl4Knsdrt+++03SVK7du3cXA1QeidPntRnn32m2NhYhYWFFbuiDqgs5s2bpxMnTqhFixYaOXKkDhw44O6SgBIdOnRIkhQUFKSpU6fq0KFDSktLU2BgoJo3b65+/frpuuuuc3OVQPGsVqumT58um82msLAwXbx4UfPmzZPJZFLTpk3VuXNnfr6DR7FYLM4glGd7ojLr1auXli9frp07d+qTTz7R4MGDVatWLZ09e1bffPONYmJi5OPjwwp8VDpGY+5maT4+PsW2SUtLc35c1Hb6uHJ8VwaPxQ8VqIrWrFmjc+fOyWAwaNCgQe4uB7istWvXatGiRc4t6po2bapnn31WQUFBbq4MKN7WrVsVHR2toKAgjRs3jpXL8AgHDx6UJMXFxSk+Pl6NGjVS3bp1FR8fr61bt2rr1q3q37+/HnvsMTdXChRt2bJlOnXqlCQpNTVV27dvl4+Pj06cOKHly5erbt26+r//+z/nts1AZbd27VqlpKSoWbNmat26tbvLAYpVp04d/eMf/9CHH36oH374QT/88EOB4xERERozZowaNmzopgqBooWFhUmSzp07p/T0dAUHBxdqs2/fPklSvXr1nO1RPrjzDgCVREpKiubPny9J6tu3rxo3buzegoBSuvQBlOfPn1dsbCxbz6DSOnfunGbOnCmDwaCxY8cW2NoAqMzyV8V16tRJo0ePVmhoqKTcr8E//vijZs+erR9//FFt2rRRz5493VkqUEhycrK++eYbSVLLli31t7/9zXnzx2636+eff9bs2bM1ceJEvfHGG9y8RKVnt9u1fPlySdKdd97p5mqAy8vKypLFYinymI+Pj/MXAYHKpE2bNgoODlZ6erqWLFmiRx55pMDxkydP6vvvv5ckDRgwwB0lVmlGdxcAAMj9wWPatGm6cOGCwsLC9MADD7i7JKBU+vTpo//85z9655131LVrV6WkpGjy5Mnatm2bu0sDCrHZbPr3v/+tixcv6o477mBbL3iUxx9/XM8++6yee+45Z2gk5W7hMWDAAA0dOlSSeFYXKqXo6GiZzWaZTCaNGzeuwG8MG41G9e/fXwMHDlR2drYWL17sxkqB0tm0aZMSExNVv359XX/99e4uByjR3r179c477zifp1y3bl21bdvW+f3EsWPHNGXKFL7+otLx9fXVE088IZPJpO+//15z585VUlKSzp07pzVr1uj111+XxWJRSEiI+vXr5+5yqxxWHAFAJbBo0SLt2bNH3t7e+utf/6qAgAB3lwSUSePGjTV+/Hi99957+u233/Txxx/ruuuuc+5JDFQGixYt0sGDB9WiRQueRQCP07x58xKP9+vXT8uWLVNsbGyxW3kA7rJ3715JuSvm8h/S/kddu3bVypUrtWPHDtntdr6HQKWW/xvut9xyiwwGg5urAUo2b9482e121apVS88884xatmwpSXI4HNq6das+/vhjZWRkaNmyZerfv3+xX6cBd+jcubMmTpyozz//XKtXr9bq1asLtRkxYoT8/PzcUF3VxndiAOBmmzZt0tdffy1Jeuyxx9jXHR7LYDDojjvukJT77IKTJ0+6uSLgf2JiYvTNN9/wXCNUWZduu5iUlOTGSoDC0tPTJeU+C7E41atXlyRZLBZne6AyOn36tA4ePCiTycTWoKj0zp49q+PHj0uSnnrqKWdoJOX+/NatWzc988wzkiSr1ardu3e7o0ygRM2bN9drr72mWbNmadKkSZo0aZJzxVzjxo1ZbeQirDgCADc6dOiQZsyYIUkaNmyYbrrpJjdXBJTMZrPpzJkzqlevXpG/CVy3bl3nx9nZ2RVZGlCi9evXy+FwKCMjQ2PGjCm23dmzZzVixAhJ0pNPPqk+ffpUUIXA5VksFnl7exd5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fpPBYFDbtm310EMPKSQkpNha1q5d66x/woQJatOmTSnekSs3ffp0rV+/XpL0xhtvqHnz5sW2femll3T48GGZTCb95z//UXBwcLnXY7FY9NNPP2nLli2Ki4vTxYsX5e3trfDwcHXo0EGDBg1SjRo1SnWupKQkPfXUU5Kku+++WyNGjLhsn7Fjx+rs2bOlOv9NN92ksWPHFnv8yJEj+uGHH7Rv3z6lpKTIaDSqTp066ty5s26//XZVq1atVOMAAAAAVQ3BEQAAAIBKKScnR//+97/122+/FXjdZrPp1KlTOnXqlNauXau///3vat26dZHnOHXqlObNm6eLFy9KkrKysrRw4UJVr15dq1atUlxcnLPt5s2bZTab9cILL7juosqod+/ezuBo48aNxQZHZ8+e1eHDhyVJHTt2dElolJqaqjfeeEMnT54s8LrNZtOJEyd04sQJ/fTTT3rxxRdLDLjczWq1au7cuYqOji507Pjx4zp+/Lh+/PFHPf/882ratKkbKgQAAADci+AIAAAAQLnq3bu3oqKinH8/c+aMvv32W0lSr1691KxZswLta9asWeR55s6d6wyN/P391bNnT9WpU0d2u11Hjx7V1q1blZWVpX//+9+aNm2afHx8Cp1jxYoVqlatmoYNG6aEhAT9+uuvkqSPP/5YdrtdPXr0UL169bRixQqZzWbt2LFDVqtVXl6V40eltm3bqmbNmkpOTtbmzZv14IMPymgsvOP4pk2bnB/fdNNNLqnlww8/dIZGISEh6tGjh2rWrKmcnBwdPHhQu3bt0sWLFzVlyhRNmzbNJe/hiBEjlJWVVezxVatWKTExUZJUt27dItvMnDlTGzZskCTVqFFDXbt2VWhoqDIzM7V7924dOXJEqampevvtt/Xee++pevXq5X4dAAAAQGVWOX4aAgAAAFBltGvXTu3atXP+fe/evc7gqF27durTp89lz5Gamqo1a9ZIkgICAvTWW2+pTp06Bdp89dVX+uKLL5SSkqLdu3erc+fOhc5jNBo1YcIENWzYUFarVTt27JDZbJbdbtewYcP05z//WZKUnJysn3/+WQ6HQ6mpqapdu/aVXn65MhqNuvHGG7V8+XKlpaVpz549at++faF2+cFRYGCgrr/++nKv48KFC9q1a5ckqVatWnr33XcLbeX2+eefa/ny5Tp//rz2799fYA6Ul5JCseXLlztDo27dumnYsGGF2mzdutUZGnXu3Fnjxo0rEDjee++9Wrhwob7++mulpaVp9erVGjlyZPleBAAAAFDJFf5VNQAAAABwswsXLqhv377q37+//vKXvxQKjaSCIcLp06eLPE/Pnj3VsGFDSZKXl5dzCzdfX1/dddddznaXrnqy2+3lcg3l5dLr3LhxY6HjCQkJOnbsmCSpR48e8vb2LvcaHA6H8+OoqKgin/9z22236fHHH9fjjz+u0NDQcq+hJJs3b9b8+fMlSS1atNDTTz9d5MqslStXSsoNI5988skiV6kNHz5cfn5+kqQtW7a4sGoAAACgcmLFEQAAAIBKp379+nrssceKPGaz2XT06FGtWrXK+Vp2dnaRbZs0aVLk63Xq1HGGA5VdgwYN1KRJEx07dkxbtmzR6NGjCwQeFbFNXVBQkCIiIhQfH6+YmBidPHnSGcjlq127tm6++WaXjF+SAwcOaPr06XI4HKpbt66ef/75IgOhrKws53OgMjMz9fDDD1/23GfOnFF2drbHzBUAAACgPBAcAQAAAKjU4uLitHfvXh0/flxxcXE6efKkzGZzqfoGBgaW6fXK6qabbtKxY8eUlZWlHTt2qFu3bs5j+cFR3bp11bx5c5fV8NBDD+mtt95SVlaWnnvuOTVt2lSNGzdWgwYN1LhxYzVt2rTCnw11+vRpvfvuu7JYLAoODtaLL76ooKCgItuePXtWNputTOd3OBxKT08nOAIAAMA1heAIAAAAQKUUGxur2bNnO1eJ5DMajWrSpInatWun5cuXu6m6itWzZ0/997//lc1m08aNG53B0alTp3Ty5ElJUu/evV1aQ/v27fXmm29q2bJl2rFjhw4fPlzg38bf31+9e/fWiBEjig1vylN6eromTZqkjIwM+fj46O9//3uRWxrmy8zMdH7crFkz9erVq1TjBAQEXHWtAAAAgCchOAIAAABQ6cTGxmrChAkym83y9fVVr1691Lp1a9WvX1/16tWTj4+PsrOzr5ngqHr16urQoYN+//13/f7778rMzFRAQIBztZHBYHB5cCRJjRs31rhx42Sz2XTmzBnFxcXp2LFj2rFjh06cOKHvv/9eO3fu1KRJk4p8DlJ5ycnJ0dtvv63ExEQZDAb93//9n5o1a1Zin0sDoJo1a+q2225zWX0AAACAJyv8tFAAAAAAcLOFCxc6t6N78cUX9dhjj+nGG29U48aNi3x+zbUgPxiyWCzaunWrJGnz5s2SpNatWys0NLTCajGZTKpfv766d++uP//5z3r33Xd19913S5ISExO1evVql41tt9v1wQcfOFc7Pfjgg+ratetl+4WGhspkMknK3f6wJGfOnNHevXu1d+9eXbhw4eqLBgAAADwIwREAAACASufgwYOSclfatG7dusg2K1asqMiS3K5z587OVTO//PKLTpw4ofj4eEm5z0Bype+//16PPvqoHn30UeeYfzRo0CDnx0eOHHFZLZ999pkzOBs8eLAGDhxYqn7+/v7OVUmnT58uscapU6dq4sSJmjhxotLS0q6+aAAAAMCDEBwBAAAAqLQyMjKUkJBQ4DWLxaIFCxboyy+/dFNV7uHj46MbbrhBkhQTE6NVq1ZJknx9fZ3PPHKV2rVrKy0tTWlpaYqOji6yzfbt250f+/n5uaSO1atXO1cz3XDDDbr//vvL1H/w4MHOj6dNm1ZobknSd999p2PHjkmSGjZsqIiIiKuoGAAAAPA8POMIAAAAQKXTqlUr7dixQ3a7Xa+88or69OmjwMBAnT59Wtu2bVNGRoYMBoOzfXZ2thurrTg33XSTfv75Z9ntdq1du1aS1KVLF/n7+7t03Pbt2ys8PFyJiYn69ttvtXv3bnXo0EE1a9aU1WpVbGystm3b5mxfmq3jymr//v2aN2+epNywrGnTpvr+++9L7NO1a1fVrFmzwN979eqlDRs26MyZMxo/fry6deumxo0by2w2a9++fdq7d6+k3O34Hn744XK/DgAAAKCyIzgCAAAAUOn85S9/UWxsrNLS0pSamqply5YVOO7n56enn35a77//vmw2m06cOOGeQitYy5YtFRYWpqSkJOdrffr0cfm43t7eev755/Xmm2/q/Pnzio+PL3bLuv79++vGG28s9xoSExPlcDgkSWazWZ9//vll+zRo0KBAcCRJY8aMkZ+fn3744QdZLBZt3LhRGzduLNAmICBATz75ZLHbJAIAAABVGcERAAAAgEqnXr16mjx5spYvX67t27crKSlJRqNRderUUadOnXT77bcrJCREzZo104EDB7Rnzx4dOXJETZs2dXfpLmUwGNSrVy8tXbpUklSzZk21bdu2QsZu0KCBpkyZojVr1mj79u2Ki4tTRkaGJKlGjRpq3ry5br755gqr50p5eXnp0Ucf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mjVrpoEDB+qjjz6SxWIp1P7uu+9WRESEPvnkE0nSsmXLNGTIELVq1UpNmzbV0KFDtX79+lLXa7FY9MgjjygiIkLdu3dXXFxc2S+6nNlsNi1atEh33XWXWrZsqaioKPXv319TpkxRRkZGsf2ysrI0Z84cDR48WO3atVOTJk3UrVs3jR8/XidPnizUftGiRYqIiNAtt9wiSTpy5IjGjh2r66+/Xk2aNFH37t01efJkWa1Wl10rAAAAAAAAALgbK45QYU5fSNZbW79RljWnxHZ2h0Of7P5JYQHB6lwnqoKqK3979+7V1KlTlZWVJaPRKLvdrt9//12///67NmzYoA8++EAGg8HZPjo6Wo8//rhycnLfn/w+u3fv1u7du7VlyxZ9+umnxY73yiuvaPbs2ZIkg8Egh8Ohbdu26f7779eqVavUtm3bEuvNycnR448/rujoaEVGRmrRokWqV69eObwTVy4jI0OjR4/Wxo0bna8ZDAbt379f+/fv15IlSzRv3jw1a9asQL+UlBTdddddOnTokPM1k8mkU6dO6YsvvtB3332nVatWqXHjxkWO++uvv+rBBx9URkaG8708efKk3n//fV28eFGvvPKKS64XAAAAAAAAANyNFUeoMMuObLtsaJTPIWnRwc2uLcjFli9frvDwcC1btkwnT57Ujh079Mgjj0iSvvrqK82bN8/ZNisrS3/961+Vk5Ojrl27as2aNTpx4oRiY2P10UcfyWQyKTo6Wr/++muRYy1evFizZ8/WnXfeqU2bNunYsWOaO3eugoODZbVaNX369BJrNZvNGj16tKKjo9WyZUt99dVXbg+NJGns2LHauHGj/Pz8NHHiRB04cEDHjh3Tp59+qnr16unEiRMaNWqU0tLSCvR76623dOjQIQUEBOjjjz/W0aNHdfLkSa1bt06tW7dWamqqPvjggyLHTE5O1qOPPqpatWpp/vz5On78uDZt2qTu3btLkmbPnq0LFy64/NoBAAAAAAAAwB0IjlAhsqw52nDqQJn6HE5J0NHURBdV5HpGo1Fz5sxRly5dZDAYFBYWptdee80ZQHz88cfOtidOnFC3bt1066236v3331fz5s1lNBrl6+urIUOGqE+fPpKkHTuK3sJv3759GjVqlKZPn65GjRrJ29tbt9xyi5544glJ0sGDB4utMz80+umnn9SuXTstWbJEoaGh5fQu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e3vL19fX+Xez2SxJ8vHxkcFgcL5uMpmKPYfdbterr76qOXPmyOFwSJLq169frnV+//33euqpp5SZmSlJMhqNMpvN2rJli7Zs2aK1a9dq2rRpxfZ/5ZVXNHv2bEmSwWCQw+HQtm3bdP/992vVqlVq27ats212drbuv/9+bdq0yflaTk6Oli9frl9//VVt2rQp12u7UhkZGRo9erQ2btzofM1gMGj//v3av3+/lixZonnz5qlZs2YF+qWkpOiuu+7SoUOHnK+ZTCadOnVKX3zxhb777jutWrVKjRs3LnLczZs367777lNGRobzvTx58qTef/99Xbx4Ua+88opLrhcAAAAAAAAA/silK46sVqsmTZqkBQsWKD4+XjabTSkpKVq9erUmTJigrKysch/Tbrdr6tSpio2NLbGdwWCQt7f3Zf/k3+g3Ggu+VYcPH5YkeXl5XbYvri0LFy5UbGys80++9evXF3i9pFVB7777rmbPnq2bb75Zixcv1q5duy4bVJbF/v379eSTTyozM1MPPPCAfvnlF508eVJ79uzRhAkTZDKZ9NVXX+nLL78ssv/ixYs1e/Zs3Xnnndq0aZOOHTumuXPnKjg4WFarVdOnTy/Q/p133tGmTZtkMBj0wgsvaN++fTp+/Lg+/fRTWa1WrVmzptyu7WqMHTtWGzdulJ+fnyZOnKgDBw7o2LFj+vTTT1WvXj2dOHFCo0aNUlpaWoF+b731lg4dOqSAgAB9/PHHOnr0qE6ePKl169apdevWSk1N1QcffFDkmMnJyXr44YdVq1YtzZ8/X8ePH9emTZvUvXt3SdLs2bN14cIFl187AAAAAAAAAEguXnE0Z84cxcTEyGg0atSoURowYIBycnI0d+5cbdiwQQsWLNAjjzxSbuPl5ORoxowZ+v333y/bNjQ0VPPnzy+xzblz5zRu3DjZbDb16NHD+brNZtOxY8ckSR999JGCg4OvrnDgD6ZNm6annnpKL774okvO//777ys7O1t33HGHJk2a5Hy9Ro0aeuyxx7R//34tXrxYX3zxhe6+++5C/fft26dRo0bpnXfecb52yy236IknntA777yjgwcPOl/PysrSZ599Jkn605/+pKefftp5bMCAAXr//ff14IMPuuAqy2bjxo366aefJOW+/7fffrvz2IABA9SyZUvdfPPNio+P16xZszR+/HjncYfDoVtv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b+8Wdf3799e9996rqKioAGcGNG779u3asGGDoqKidM8997ByGUHh0KFDkqSMjAxlZWWpV69eSk1NVVZWlrZv367t27dr5syZuuOOOwKcKdCwt99+W5mZmZKkkpISffvtt7JYLDp58qTeffddpaam6pe//KV322ago9u0aZOKi4s1YMAADR06NNDpAI3q0qWL/r//7//T888/r40bN2rjxo112rt166YlS5aoZ8+eAcoQaFhycrIk6fTp0yorK1N0dHS9mP3790uSunbt6o1H2+CddwDoIIqLi/Xyyy9LkqZPn67evXsHNiHAR+ceQFlYWKhjx46x9Qw6rNOnT2v58uUyGAz6+c9/XmdrA6Ajq10VN2bMGP3sZz9TUlKSpDM/gz/66COtWLFCH330kYYNG6bJkycHMlWgnqKiIr3zzjuSpMGDB+s3v/mN980ft9utTz75RCtWrNCjjz6qJ554gjcv0eG53W69++67kqTrr78+wNkAzauurpbD4WiwzWKxeD8ICHQkw4YNU3R0tMrKyvT666/rtttuq9N+6tQpffjhh5KkWbNmBSLFTs0Y6AQAAGf+8Pjzn/+siooKJScn6+abbw50SoBPpk2bpr/85S/6n//5H02YMEHFxcV6+umn9c033wQ6NaAel8ulZ599VpWVlbrmmmvY1gtB5c4779S9996r++67z1s0ks5s4TFr1ixde+21ksRZXeiQNmzYIJvNJpPJpHvuuafOJ4aNRqNmzpypOXPmqKamRq+99loAMwV8s2XLFuXl5al79+666KKLAp0O0KR9+/bpf/7nf7znKaempmr48OHe3yeOHz+uZ555hp+/6HCsVqsWL14sk8mkDz/8UCtXrlR+fr5Onz6tTz/9VI8//rgcDodiY2M1Y8aMQKfb6bDiCAA6gH//+9/au3evQkJC9J//+Z8KDw8PdEpAi/Tu3Vu//vWv9dRTT+nrr7/WX//6V40dO9a7JzHQEfz73//WoUOHNGjQIM4iQNAZOHBgk+0zZszQ22+/rWPHjjW6lQcQKPv27ZN0ZsVc7SHt3zdhwgStXbtWO3fulNvt5ncIdGi1n3C/4oorZDAYApwN0LRVq1bJ7XYrISFBv/rVrzR48GBJksfj0fbt2/XXv/5V5eXlevvttzVz5sxGf04DgTBu3Dg9+uij+uc//6n169dr/fr19WIWLFig0NDQ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Dh06JKfTGeAMAQAAAAAShSMAAAAAflZRUaFvvvlGkjRq1Cg9+OCD9WIKCwvbO61WmTZtmqZNmxboNDqF5OTkC3qrPgAAAKCjMgY6AQAAAACdW25urjwejyRp7NixDcYkJCS0Z0oAAAAAgEZQOAIAAADgVzabzfs6LCwsgJkAAAAAAJpD4QgAAAAAAAAAAACSKBwBAAAAAAAAAADgLHOgEwAAAADQuTz//PPavHlzg20vvPCCXnjhhTrXhg4dqkceeaTR+3399df69NNPdfToUZWVlclsNispKUkjRozQ3LlzlZycXCd+3759evTRRyVJd911lwYNGqR//vOf2rt3r6xWq+bMmaPrr79eFRUVeumll/T111/LYDBo+PDhuuWWWxQbG9toLps2bfLm//DDD2vYsGE+fEda77nnntNnn30mSXriiSc0cODARmMffPBBpaeny2Qy6S9/+Yuio6PbPB+Hw6GPP/5Y27ZtU0ZGhiorKxUSEqKUlBSNGjVKc+fOVVxcnE/3ys/P1y9+8QtJ0o033qgFCxY02+fnP/+5CgoKfLr/ZZddpp///OeNth85ckQbN27U/v37VVxcLKPRqC5dumjcuHG66qqrFBkZ6dM4AAAAQGdD4QgAAABAh2S32/Xss8/q66+/rnPd5XIpMzNTmZmZ2rRpk377299q6NChDd4jMzNTq1atUmVlpSSpurpar776qmJiYrRu3TplZGR4Y7du3Sqbzabf/e53/nuoFpo6daq3cPTFF180WjgqKChQenq6JGn06NF+KRqVlJToiSee0KlTp+pcd7lcOnnypE6ePKmPP/5YDzzwQJMFrkBzOp1auXKlNmzYUK/txIkTOnHihD766CPdf//96t+/fwAyBAAAAAKLwhEAAACANjV16lT169fP+3VOTo7ef/99SdKUKVM0YMCAOvHx8fEN3mflypXeolFYWJgmT56sLl26yO126+jRo9q+fbuqq6v17LPP6s9//rMsFku9e7z33nuKjIzUddddp9zcXH311VeSpL/+9a9yu9265JJL1LVrV7333nuy2WzauXOnnE6nzOaO8afS8OHDFR8fr6KiIm3dulU//elPZTTW33F8y5Yt3teXXXaZX3J5/vnnvUWj2NhYXXLJJYqPj5fdbtehQ4e0e/duVVZW6plnntGf//xnv3wPFyxYoOrq6kbb161bp7y8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\n",
      "text/plain": [
       "<Figure size 2000x1400 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import matplotlib as mpl\n",
    "# 设置字体\n",
    "mpl.rcParams['font.sans-serif'] = ['SimHei']\n",
    "# 设置风格\n",
    "plt.style.use('ggplot')\n",
    "colors = ['#c72e29','#098154','#fb832d']#三种不同颜色\n",
    "markers = ['$\\clubsuit$','.','+']#三种不同图形\n",
    "\n",
    "fig = plt.figure(figsize=(10,7),dpi=200)\n",
    "\n",
    "# plt.scatter(result.index[0:10], result.iloc[0:10,0])\n",
    "for j in [1,2]:\n",
    "    ax = fig.add_subplot(2,1,j)\n",
    "    for i in range(3):\n",
    "        ax.scatter(result.index[0:9],#传入数据x\n",
    "                   result.iloc[0:9,(j-1)*3+i],#传入数据y\n",
    "                    s = 100,#散点图形（marker）的大小\n",
    "                    c = colors[i],#marker颜色\n",
    "                    marker = markers[i],#marker形状\n",
    "                    #marker=matplotlib.markers.MarkerStyle(marker = markers[i],fillstyle='full'),#设置marker的填充\n",
    "                    alpha=0.8,#marker透明度，范围为0-1\n",
    "                    facecolors='r',#marker的填充颜色，当上面c参数设置了颜色，优先c\n",
    "                    edgecolors='none',#marker的边缘线色\n",
    "                    linewidths=1,#marker边缘线宽度，edgecolors不设置时，该参数不起作用\n",
    "                    label = result.columns[(j-1)*3+i])#后面图例的名称取自label\n",
    "         \n",
    " \n",
    "    plt.legend(loc = 'best')\n",
    "    plt.xlabel('family size')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 176,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 與famcond合并，可以看一下不同維度的比例"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 177,
   "metadata": {},
   "outputs": [],
   "source": [
    "# asset and liability distribution "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 3.3 老年人财产的描述性统计"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "老年人财产来源：退休金(fn301)、子女给的钱(fn401)、亲戚给的钱(fn4)、其他人给的钱(fn5)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 178,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>fn3</th>\n",
       "      <th>fn301</th>\n",
       "      <th>fn401</th>\n",
       "      <th>fn4</th>\n",
       "      <th>fn5</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>fid18</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>100051.0</th>\n",
       "      <td>5.0</td>\n",
       "      <td>-8.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>100160.0</th>\n",
       "      <td>5.0</td>\n",
       "      <td>-8.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>10000.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>100286.0</th>\n",
       "      <td>5.0</td>\n",
       "      <td>-8.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>100435.0</th>\n",
       "      <td>5.0</td>\n",
       "      <td>-8.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>100453.0</th>\n",
       "      <td>1.0</td>\n",
       "      <td>50000.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6609501.0</th>\n",
       "      <td>5.0</td>\n",
       "      <td>-8.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6646971.0</th>\n",
       "      <td>5.0</td>\n",
       "      <td>-8.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6694541.0</th>\n",
       "      <td>5.0</td>\n",
       "      <td>-8.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6704011.0</th>\n",
       "      <td>5.0</td>\n",
       "      <td>-8.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6759191.0</th>\n",
       "      <td>5.0</td>\n",
       "      <td>-8.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>14218 rows × 5 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "           fn3    fn301  fn401      fn4  fn5\n",
       "fid18                                       \n",
       "100051.0   5.0     -8.0    0.0      0.0  0.0\n",
       "100160.0   5.0     -8.0    0.0  10000.0  0.0\n",
       "100286.0   5.0     -8.0    0.0      0.0  0.0\n",
       "100435.0   5.0     -8.0    0.0      0.0  0.0\n",
       "100453.0   1.0  50000.0    0.0      0.0  0.0\n",
       "...        ...      ...    ...      ...  ...\n",
       "6609501.0  5.0     -8.0    0.0      0.0  0.0\n",
       "6646971.0  5.0     -8.0    0.0      0.0  0.0\n",
       "6694541.0  5.0     -8.0    0.0      0.0  0.0\n",
       "6704011.0  5.0     -8.0    0.0      0.0  0.0\n",
       "6759191.0  5.0     -8.0    0.0      0.0  0.0\n",
       "\n",
       "[14218 rows x 5 columns]"
      ]
     },
     "execution_count": 178,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "famecon.loc[:,['fn3','fn301','fn401','fn4','fn5']]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 179,
   "metadata": {},
   "outputs": [],
   "source": [
    "def total_assets(x):\n",
    "    if (x[0]==-8):     #-8:无退休金\n",
    "        return x[1]+x[2]+x[3]\n",
    "    return x[0]+x[1]+x[2]+x[3]\n",
    "\n",
    "famecon['elderly_asset']=famecon[['fn301','fn401','fn4','fn5']].apply(total_assets,axis=1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 180,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0.0        6577\n",
      "2000.0      344\n",
      "1000.0      341\n",
      "10000.0     229\n",
      "20000.0     220\n",
      "           ... \n",
      "1505.0        1\n",
      "6840.0        1\n",
      "11320.0       1\n",
      "18760.0       1\n",
      "1099.0        1\n",
      "Name: elderly_asset, Length: 1214, dtype: int64\n"
     ]
    }
   ],
   "source": [
    "print(famecon['elderly_asset'].value_counts())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 181,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "count      14218.000000\n",
      "mean       10390.715572\n",
      "std        26691.787812\n",
      "min           -3.000000\n",
      "25%            0.000000\n",
      "50%          500.000000\n",
      "75%         6000.000000\n",
      "max      1000000.000000\n",
      "Name: elderly_asset, dtype: float64\n"
     ]
    }
   ],
   "source": [
    "print(famecon['elderly_asset'].describe())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 182,
   "metadata": {
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0-3000         9789\n",
       "10001-30000    1348\n",
       "30001-70000    1101\n",
       "3001-7000      1011\n",
       "70001+          486\n",
       "7001-10000      482\n",
       "Name: asset_segment, dtype: int64"
      ]
     },
     "execution_count": 182,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#财产分段\n",
    "asset_cut=[-3,3001,7001,10001,30001,70001,1000000]\n",
    "asset_seg=pd.cut(famecon['elderly_asset'],bins=asset_cut,labels=['0-3000','3001-7000','7001-10000','10001-30000','30001-70000','70001+'])\n",
    "famecon['asset_segment']=asset_seg.values\n",
    "c=famecon['asset_segment'].value_counts()\n",
    "c"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 183,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAA7UAAAJOCAYAAABoeyBbAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/MnkTPAAAACXBIWXMAAAsTAAALEwEAmpwYAAAjGUlEQVR4nO3de2zd9X3H4beDSQIxrRdM1oQylUxFJa0U6pVB2KapxUqrjZWB+WOrRru1ga0XdYXduo2OgOrJMISmbSwqIKQI0VWraEu2CYqsqiVcFHXdokDAoyteWEjkKpQQHIiNc7w/KjxyA59jx/YnPI8UKed7bl/795Gtl37nHLdNTExMBAAAAApaMNcbAAAAgFaJWgAAAMoStQAAAJQlagEAAChL1AIAAFCWqAUAAKAsUQsAbzFbt27N2NjYXG8DAGaEqAWA4+iMM87IU089dczrJyYm8ru/+7t54IEHpvyYP/7xj/Pqq68mSYaHh3PvvfdO+b4HDx7M2rVrc+utt075PgAwn4laAGjBunXrsmjRonR0dKSjoyOnnHJKPvjBDx5xu5NPPjmLFi2avDw+Pp79+/dnfHw84+PjOXjwYHbs2JFNmzZNrr366qsZGRnJ6OjoUZ/793//9/OZz3wmSfLyyy/nyiuvzI9+9KOj3nZiYuKQy/fdd1/Gx8fzuc99rtUvHQDmFVELAC1YtGhRbrrppjz33HN57rnncv/992fhwoVH3K6trS0LFvz/r9vvfe97Of3003P66aenq6srXV1d+c///M989atfnbx8xhlnpKurK3feeecRj/f444/nX//1X/OFL3whSXL22Wfn4x//eD71qU+l0WgccfsFCxZk4cKFk/H9W7/1W9m3b1/e8Y53TK51dHRkyZIlWbRoUa688sqZ+yYBwCwQtQDQgpNOOilJsmnTplx44YWTazfccEMWLlyYJUuWpKOjI7t378573vOeyeC9+OKLc+DAgTz99NPp7e3Ns88+m717907+u+yyy/K1r30tBw4cyGc/+9lDnrPRaOTTn/50PvnJT+a9733v5HpfX18GBwcnQ/f19u3bl5deeikvvfRS7rjjjrztbW/LCy+8kH379mXfvn0ZGRnJyMhI9u/fn9HR0dx9993H6TsGAMeHqAWAFrS1tSVJFi5cmHe+851JfnpW9C/+4i/y8ssv56WXXsry5cszMTGRp556Ki+++OIh93/729+ehx9+OF/60pcm15555pls3LgxHR0dR33OW265JT/84Q/T19d3yPrpp5+er3/967nrrrty1VVX5ZVXXpm87rTTTsuiRYuyf//+fPGLX8yf//mf57TTTss111yTa6+9dka+FwAwl0QtALTgtag9+eSTc8opp0yun3zyyWlvb88jjzyStra2rFixIm1tbZO3mZiYyPj4eNrb23PjjTdm4cKFk++l/cd//MdccsklufDCC/Pqq68eEqebNm3Kl770pdx0002ZmJjInj17Dvl37rnn5p577sm9996b973vfXnkkUcO2e/VV1+djo6OfP7zn0/y05dPv/69vgBQVftcbwAAKnrt/asvvfRSTj311EPWkuTWW2/NZz7zmdxyyy2H3O/uu+/OJz7xiUPWDr/NySefnCT51V/91Xz3u9/Nrl278rGPfSw333xz1q9fn9/7vd876p4WLVqUwcHBrFu3Lmeeeebk+g033JB/+qd/yoIFC/IzP/MzSTL5J31uu+22JMno6Gj6+/vzR3/0R819IwBgjjlTCwAtOHjwYJKf/kmd0047LclPP9k4SR555JE8+uijufrqq4+4X1tbWy688MJMTEy84b9Go5GBgYEkyYoVK/Lkk0/mD//wD/Nf//VfOXjwYM4+++zcd999k7e/7777ctZZZ+Vd73pXBgYG8q53vSsTExP5q7/6q3z5y1/OF77whZx77rmT76G99tprc+21105e7u3tdeYWgJJELQC04LUznTt37szZZ589ubZ///588pOfzJe//OXJM7iv95Of/GTybOkbaWtrS3v7/7+g6ud+7ueS/PRs7IsvvpgdO3bkvPPOm7x+165dk+/tfc2TTz6Z22+/Pffee28uvfTSN33O1z8fAFThtxcAtOCWW25Je3t7uru785WvfCULFy7Mv/zLv+TKK6/M8uXLs27duqPe79lnn83KlSun9dz33HNP3v/+90+GbpI899xzOeussw653Xvf+97s2LEjixYtyne/+91pPScAzFfO1AJAC97+9rfnG9/4RpYsWZLx8fGsXbs2Dz/8cJYsWZKvfvWrkx8kdbgHH3wwv/RLv9Ty8z7++OO57rrrjvgE5Oeee+6IM7VJJl9S/NpLow/3/PPP5zvf+U62b9+eJUuWtLwvAJgrztQCQAsefvjhfP7zn88DDzyQCy64IH/2Z3+WT33qU3niiSeydOnSJMkrr7ySkZGRyQ9++uY3v5mdO3fmN37jN5p+vomJidx7771Zt25d/uRP/iQf/vCHkyT//d//nZ07d+bBBx/MTTfddMz7v/rqq4dcHhsbS1tbW9ra2nLJJZfkggsuyEc+8pGm9wUAc03UAkCTnn/++Vx++eX5u7/7u1xwwQVJkuuuuy5nnXXW5Ptl/+3f/i2XXXZZVq1aleXLl2d0dDSf+9zn8pd/+ZfH/Du0b+QP/uAP8s1vfjP/8A//kN/5nd+ZXN+8eXP6+/vT29ub3t7eY97/Ix/5SNauXTt5eXR0NG1tbVm6dGleeumlnHTSSU3vCQDmg7aJiYmJud4EAFSzd+/edHZ2HvP6RqORH/zgB/mFX/iFLFjw03f7/OAHP0h3d/cxX5r8Rl5++eWMjY294XMCwFuRqAUAAKAsHxQFAABAWaIWAACAsub9B0Xt2rVrrrfwltfV1ZU9e/bM9TYoxMzQCnNDs8wMrTA3NMvMzA8rVqw45nXO1AIAAFCWqAUAAKAsUQsAAEBZohYAAICyRC0AAABliVoAAADKErUAAACUJWoBAAAoS9QCAABQlqgFAACgLFELAABAWe1TudHevXtz66235sYbb0ySbNiwITt37kx3d3d6e3unvQYAAACteNMztSMjI7ntttsyOjqaJNmyZUsajUb6+voyPDyc3bt3T2sNAAAAWvWmZ2oXLFiQa665JjfffHOSZPv27VmzZk2SZPXq1RkcHMzQ0FDLa8uXLz/k+QYGBjIwMJAk6e/vT1dX1wx9qbSqvb3dcaApZoZWmBuaZWZohbmhWWZm/nvTqD311FMPuTw6OpqlS5cmSTo6OjI0NDSttcP19PSkp6dn8vKePXta/NKYKV1dXY4DTTEztMLc0CwzQyvMDc0yM/PDihUrjnld0x8UtXjx4oyNjSVJDhw4kEajMa01AAAAaFXTUbty5coMDg4mSXbs2JFly5ZNaw0AAABa1XTUnn/++dm8eXM2btyYxx57LN3d3dNaAwAAgFa1TUxMTDR7p5GRkWzbti2rVq1KZ2fntNfeyK5du5rdHjPM+wholpmhFeaGZpkZWmFuaJaZmR/e6D21U/o7tYfr6OjIRRddNGNrAAAA0IqmX34MAAAA84WoBQAAoCxRCwAAQFmiFgAAgLJa+qAo/t/Bqz4611s47obnegPH2Ul3bJrrLQAAAC1yphYAAICyRC0AAABliVoAAADKErUAAACUJWoBAAAoS9QCAABQlqgFAACgLFELAABAWaIWAACAskQtAAAAZYlaAAAAyhK1AAAAlCVqAQAAKEvUAgAAUJaoBQAAoCxRCwAAQFmiFgAAgLJELQAAAGWJWgAAAMoStQAAAJQlagEAAChL1AIAAFCWqAUAAKAsUQsAAEBZohYAAICyRC0AAABliVoAAADKErUAAACUJWoBAAAoS9QCAABQlqgFAACgLFELAABAWaIWAACAskQtAAAAZYlaAAAAyhK1AAAAlCVqAQAAKEvUAgAAUJaoBQAAoCxRCwAAQFmiFgAAgLJELQAAAGWJWgAAAMoStQAAAJQlagEAAChL1AIAAFCWqAUAAKAsUQsAAEBZohYAAICyRC0AAABliVoAAADKErUAAACUJWoBAAAoS9QCAABQlqgFAACgLFELAABAWaIWAACAskQtAAAAZYlaAAAAyhK1AAAAlCVqAQAAKEvUAgAAUJaoBQAAoCxRCwAAQFmiFgAAgLJELQAAAGWJWgAAAMoStQAAAJQlagEAAChL1AIAAFCWqAUAAKAsUQsAAEBZohYAAICyRC0AAABliVoAAADKErUAAACUJWoBAAAoS9QCAABQlqgFAACgLFELAABAWaIWAACAskQtAAAAZYlaAAAAyhK1AAAAlCVqAQAAKEvUAgAAUJaoBQAAoCxRCwAAQFmiFgAAgLJELQAAAGWJWgAAAMoStQAAAJTV3uwdRkZG8vd///d58cUXs3Llylx99dXZsGFDdu7cme7u7vT29ibJlNcAAACgVU2fqX3ooYfyy7/8y+nv788rr7yS++67L41GI319fRkeHs7u3buzZcuWKa0BAADAdDR9pva0007L//7v/2b//v15/vnnc+qpp2bNmjVJktWrV2dwcDBDQ0NTWlu+fPkRjz8wMJCBgYEkSX9/f7q6ulr+4mbD8FxvgGmb7zNWUXt7u+8rTTM3NMvM0ApzQ7PMzPzXdNS+5z3vyX/8x3/k/vvvz5lnnpnx8fEsXbo0SdLR0ZGhoaGMjo5Oae1oenp60tPTM3l5z549TX9R0AwzNvO6urp8X2mauaFZZoZWmBuaZWbmhxUrVhzzuqZffvz1r389V111Va644oqceeaZefjhhzM2NpYkOXDgQBqNRhYvXjylNQAAAJiOpqN2//79efbZZ9NoNPLDH/4wv/mbv5nBwcEkyY4dO7Js2bKsXLlySmsAAAAwHU1H7WWXXZbbb789n/jEJzIyMpJf//Vfz+bNm7Nx48Y89thj6e7uzvnnnz+lNQAAAJiOtomJiYnpPsjIyEi2bduWVatWpbOzs6m1N7Nr167pbu+4OnjVR+d6C0zTSXdsmustnHC894RWmBuaZWZohbmhWWZmfnij99Q2/UFRR9PR0ZGLLrqopTUAAABoVdMvPwYAAID5QtQCAABQlqgFAACgLFELAABAWaIWAACAskQtAAAAZYlaAAAAyhK1AAAAlCVqAQAAKEvUAgAAUJaoBQAAoCxRCwAAQFmiFgAAgLJELQAAAGWJWgAAAMoStQAAAJQlagEAAChL1AIAAFCWqAUAAKAsUQsAAEBZohYAAICyRC0AAABliVoAAADKErUAAACUJWoBAAAoS9QCAABQlqgFAACgLFELAABAWaIWAACAskQtAAAAZYlaAAAAyhK1AAAAlCVqAQAAKEvUAgAAUJaoBQAAoCxRCwAAQFmiFgAAgLJELQAAAGWJWgAAAMoStQAAAJQlagEAAChL1AIAAFCWqAUAAKAsUQsAAEBZohYAAICyRC0AAABliVoAAADKErUAAACUJWoBAAAoS9QCAABQlqgFAACgLFELAABAWaIWAACAskQtAAAAZYlaAAAAyhK1AAAAlCVqAQAAKEvUAgAAUJaoBQAAoCxRCwAAQFmiFgAAgLJELQAAAGWJWgAAAMoStQAAAJQlagEAAChL1AIAAFCWqAUAAKAsUQsAAEBZohYAAICyRC0AAABliVoAAADKErUAAACUJWoBAAAoS9QCAABQlqgFAACgLFELAABAWaIWAACAskQtAAAAZYlaAAAAyhK1AAAAlCVqAQAAKEvUAgAAUJaoBQAAoCxRCwAAQFmiFgAAgLJELQAAAGWJWgAAAMoStQAAAJQlagEAAChL1AIAAFCWqAUAAKAsUQsAAEBZohYAAICyRC0AAABliVoAAADKErUAAACU1T6dO995550577zz8oEPfCAbNmzIzp07093dnd7e3iSZ8hoAAAC0ouUztU899VT27t2bD3zgA9myZUsajUb6+voyPDyc3bt3T3kNAAAAWtXSmdrx8fF85Stfyfvf//58//vfz/bt27NmzZokyerVqzM4OJihoaEprS1fvvyQxx4YGMjAwECSpL+/P11dXS1/cbNheK43wLTN9xmrqL293feVppkbmmVmaIW5oVlmZv5rKWofeuihvPOd78yll16a+++/P9/+9rfzoQ99KEnS0dGRoaGhjI6OZunSpW+6drienp709PRMXt6zZ08rW4QpM2Mzr6ury/eVppkbmmVmaIW5oVlmZn5YsWLFMa9rKWqHhobS09OTzs7O/Mqv/EqefvrpjI2NJUkOHDiQRqORxYsXT2kNAAAAWtXSe2rf8Y53ZHj4py+8feaZZ/LjH/84g4ODSZIdO3Zk2bJlWbly5ZTWAAAAoFUtnan90Ic+lA0bNuTRRx/N+Ph41q9fn5tvvjkvvPBCtm7dmr6+viTJ9ddfP6U1AAAAaEXbxMTExEw80MjISLZt25ZVq1als7OzqbU3smvXrpnY3nFz8KqPzvUWmKaT7tg011s44XjvCa0wNzTLzNAKc0OzzMz8MOPvqT2ajo6OXHTRRS2tAQAAQCta/ju1AAAAMNdELQAAAGWJWgAAAMoStQAAAJQlagEAAChL1AIAAFCWqAUAAKAsUQsAAEBZohYAAICyRC0AAABliVoAAADKErUAAACUJWoBAAAoS9QCAABQlqgFAACgLFELAABAWaIWAACAskQtAAAAZYlaAAAAyhK1AAAAlCVqAQAAKEvUAgAAUJaoBQAAoCxRCwAAQFmiFgAAgLJELQAAAGWJWgAAAMoStQAAAJQlagEAAChL1AIAAFCWqAUAAKAsUQsAAEBZohYAAICyRC0AAABliVoAAADKErUAAACUJWoBAAAoS9QCAABQlqgFAACgLFELAABAWaIWAACAskQtAAAAZYlaAAAAyhK1AAAAlCVqAQAAKEvUAgAAUJaoBQAAoCxRCwAAQFmiFgAAgLJELQAAAGWJWgAAAMoStQAAAJQlagEAAChL1AIAAFCWqAUAAKAsUQsAAEBZohYAAICyRC0AAABliVoAAADKErUAAACUJWoBAAAoS9QCAABQlqgFAACgLFELAABAWaIWAACAskQtAAAAZYlaAAAAyhK1AAAAlCVqAQAAKEvUAgAAUJaoBQAAoCxRCwAAQFmiFgAAgLJELQAAAGWJWgAAAMoStQAAAJQlagEAAChL1AIAAFCWqAUAAKAsUQsAAEBZohYAAICyRC0AAABliVoAAADKErUAAACUJWoBAAAoS9QCAABQlqgFAACgLFELAABAWaIWAACAskQtAAAAZYlaAAAAyhK1AAAAlCVqAQAAKEvUAgAAUJaoBQAAoCxRCwAAQFmiFgAAgLLaW73j3r1789d//de5+eabs2HDhuzcuTPd3d3p7e1NkimvAQAAQKtaPlN79913Z2xsLFu2bEmj0UhfX1+Gh4eze/fuKa8BAADAdLR0pvaJJ57IokWL0tnZme3bt2fNmjVJktWrV2dwcDBDQ0NTWlu+fPkRjz0wMJCBgYEkSX9/f7q6ulr6wmbL8FxvgGmb7zNWUXt7u+8rTTM3NMvM0ApzQ7PMzPzXdNSOj4/n3nvvzR//8R/nb/7mbzI6OpqlS5cmSTo6OjI0NDTltaPp6elJT0/P5OU9e/Y0/UVBM8zYzOvq6vJ9pWnmhmaZGVphbmiWmZkfVqxYcczrmn758be+9a2sXbs2S5YsSZIsXrw4Y2NjSZIDBw6k0WhMeQ0AAACmo+kztY8//nieeOKJfPvb387//M//ZM+ePTn99NNzzjnnZMeOHVmxYkVOP/30DA4OvukaAAAATEfTUXvDDTdM/n/9+vX50z/901x//fV54YUXsnXr1vT19SXJlNcAAACgVW0TExMT032QkZGRbNu2LatWrUpnZ2dTa29m165d093ecXXwqo/O9RaYppPu2DTXWzjheO8JrTA3NMvM0ApzQ7PMzPzwRq/0bfnv1L5eR0dHLrroopbWAAAAoFUt/51aAAAAmGuiFgAAgLJELQAAAGWJWgAAAMoStQAAAJQlagEAAChL1AIAAFCWqAUAAKAsUQsAAEBZohYAAICyRC0AAABliVoAAADKErUAAACUJWoBAAAoS9QCAABQlqgFAACgLFELAABAWaIWAACAskQtAAAAZYlaAAAAyhK1AAAAlCVqAQAAKEvUAgAAUJaoBQAAoCxRCwAAQFmiFgAAgLJELQAAAGWJWgAAAMoStQAAAJQlagEAAChL1AIAAFCWqAUAAKAsUQsAAEBZohYAAICyRC0AAABliVoAAADKErUAAACUJWoBAAAoS9QCAABQlqgFAACgLFELAABAWaIWAACAskQtAAAAZYlaAAAAyhK1AAAAlCVqAQAAKEvUAgAAUJaoBQAAoCxRCwAAQFmiFgAAgLJELQAAAGWJWgAAAMoStQAAAJQlagEAAChL1AIAAFCWqAUAAKAsUQsAAEBZohYAAICyRC0AAABliVoAAADKErUAAACUJWoBAAAoS9QCAABQlqgFAACgLFELAABAWaIWAACAskQtAAAAZYlaAAAAyhK1AAAAlCVqAQAAKEvUAgAAUJaoBQAAoCxRCwAAQFmiFgAAgLJELQAAAGWJWgAAAMoStQAAAJQlagEAAChL1AIAAFCWqAUAAKAsUQsAAEBZohYAAICyRC0AAABliVoAAADKErUAAACUJWoBAAAoS9QCAABQlqgFAACgLFELAABAWaIWAACAskQtAAAAZYlaAAAAyhK1AAAAlCVqAQAAKEvUAgAAUJaoBQAAoCxRCwAAQFntrdzp5Zdfzt/+7d+m0Whk0aJFueaaa3LHHXdk586d6e7uTm9vb5Jkw4YNU1oDAACAVrR0pnbz5s255JJLct1116WzszOPPPJIGo1G+vr6Mjw8nN27d2fLli1TWgMAAIBWtXSm9sMf/vDk//ft25fNmzfn137t15Ikq1evzuDgYIaGhrJmzZo3XVu+fPkhjz0wMJCBgYEkSX9/f7q6ulrZ4qwZnusNMG3zfcYqam9v932laeaGZpkZWmFuaJaZmf9aitrXPP3009m/f3/OOOOMLF26NEnS0dGRoaGhjI6OTmntcD09Penp6Zm8vGfPnulsEd6UGZt5XV1dvq80zdzQLDNDK8wNzTIz88OKFSuOeV3LHxQ1MjKSu+66K5/+9KezePHijI2NJUkOHDiQRqMx5TUAAABoVUtROz4+nltvvTUf+9jHcsYZZ2TlypUZHBxMkuzYsSPLli2b8hoAAAC0qqWo/c53vpOhoaF84xvfyPr16zMxMZHNmzdn48aNeeyxx9Ld3Z3zzz9/SmsAAADQqraJiYmJmXigkZGRbNu2LatWrUpnZ2dTa29k165dM7G94+bgVR+d6y0wTSfdsWmut3DC8d4TWmFuaJaZoRXmhmaZmfnhjd5TO60Pinq9jo6OXHTRRS2tAQAAQCta/qAoAAAAmGuiFgAAgLJELQAAAGWJWgAAAMoStQAAAJQlagEAAChL1AIAAFCWqAUAAKAsUQsAAEBZohYAAICyRC0AAABliVoAAADKErUAAACUJWoBAAAoS9QCAABQlqgFAACgLFELAABAWaIWAACAskQtAAAAZYlaAAAAyhK1AAAAlCVqAQAAKEvUAgAAUJaoBQAAoCxRCwAAQFmiFgAAgLJELQAAAGWJWgAAAMpqn+sNwFvRwas+OtdbOK6G53oDs+CkOzbN9RYAAIgztQAAABQmagEAAChL1AIAAFCWqAUAAKAsUQsAAEBZohYAAICyRC0AAABliVoAAADKErUAAACUJWoBAAAoS9QCAABQlqgFAACgrPa53gAAb+7gVR+d6y0cd8NzvYHj7KQ7Ns31FgDghORMLQAAAGWJWgAAAMoStQAAAJTlPbUAcII60d+LfaK/DzvxXmyAqXCmFgAAgLJELQAAAGWJWgAAAMoStQAAAJQlagEAAChL1AIAAFCWqAUAAKAsUQsAAEBZohYAAICyRC0AAABliVoAAADKErUAAACUJWoBAAAoS9QCAABQlqgFAACgLFELAABAWaIWAACAskQtAAAAZYlaAAAAyhK1AAAAlCVqAQAAKEvUAgAAUJaoBQAAoCxRCwAAQFmiFgAAgLJELQAAAGWJWgAAAMpqn+sNAAAwPxy86qNzvYXjbniuN3CcnXTHpll/zhN9bk70mUnmZm5mkjO1AAAAlCVqAQAAKEvUAgAAUJaoBQAAoCxRCwAAQFmiFgAAgLJELQAAAGWJWgAAAMoStQAAAJQlagEAAChL1AIAAFCWqAUAAKAsUQsAAEBZohYAAICyRC0AAABliVoAAADKErUAAACUJWoBAAAoS9QCAABQlqgFAACgLFELAABAWaIWAACAskQtAAAAZbXPxZNu2LAhO3fuTHd3d3p7e+diCwAAAJwAZv1M7ZYtW9JoNNLX15fh4eHs3r17trcAAADACaJtYmJiYjaf8K677sp5552X7u7uPPLIIxkbG8sHP/jByesHBgYyMDCQJOnv75/NrQEAAFDMrJ+pHR0dzdKlS5MkHR0defHFFw+5vqenJ/39/YJ2HvniF78411ugGDNDK8wNzTIztMLc0CwzM//NetQuXrw4Y2NjSZIDBw6k0WjM9hYAAAA4Qcx61K5cuTKDg4NJkh07dmTZsmWzvQUAAABOELMeteeff342b96cjRs35rHHHkt3d/dsb4Em9fT0zPUWKMbM0ApzQ7PMDK0wNzTLzMx/s/5BUUkyMjKSbdu2ZdWqVens7JztpwcAAOAEMSdRCwAAADNh1l9+zPz22ln0ffv2zfVWOIGYq9ocP2aCOQLgeHGm9i1kw4YN2blzZ7q7u9Pb23vE9SMjI+nv75/8G8LXX3993va2tx31flNdY/7Zu3dvbr311tx4441Jpn4sj7Z2+GMdzfGYK7M2e452/O65557jOjMPPvhgHn300STJ/v378+53vztXX321mSlsOnM0VzPD/Ha0Y37w4MEZ/9l022235bOf/ewsfmW0YjrzMJWfMce6nd9L84cztW8RW7ZsSaPRSF9fX4aHh7N79+4jbvPss8/m4x//eC6//PKsXr06zzzzzFHvN9U15p+RkZHcdtttGR0dTXL0uZjq2uGPdSwzPVdmbXYdfvyeeOKJ4z4za9euzfr167N+/fqce+65ufjii81Mca3O0VzNDPPf4cf8Z3/2Z4/7zybmr1bnYarH/mi383tpfhG1bxHbt2/PmjVrkiSrV6+e/LNKr7dq1aqcc845efLJJ/OjH/0o55xzzlHvN9U15p8FCxbkmmuuySmnnJLk6HMx1bXDH+tYZnquzNrsOvz4bd269bjPzGt+8pOfZO/evfn5n/95M1Ncq3M0VzNDHa8d8+eff35GfzbdeeedWb9+fbZu3Zr169fnn//5n2f/i6Npzc7DVH/GHO12fi/NL+1zvQFmx+joaJYuXZok6ejoyE033ZTvfe97k9e/733vyxVXXJGJiYk8+uijWbJkSdrb24+439DQ0JTXmH9OPfXUQy5P5/ge/lhJcvvtt2fXrl2Tl4/HXJm12ff649fW1jYrM5MkDzzwQNauXZtkerNqZuaHVuZormaGOl475ps3b57Rn03r1q1L4uXH1TQ7D83+jHk9v5fmF1H7FrF48eKMjY0lSQ4cOJArrrgil19++RG3a2try7p16/K1r30t//7v/37E/RqNxpTXmP9m+vheffXVR12fybkya7Pv9cdvy5Ytufjii5Mc35lpNBrZvn17fvu3fzvJ9GbVzMwPrczR0czGzFDD64/597//fcf7La6VeTiaY/2MOZzfS/OLlx+/RaxcuXLypQ07duzIsmXLjrjNt771rcmzty+//HJOPfXUo95vqmvMf7NxfGd6rsza7Dr8+F166aWzcpwGBwfz7ne/O21tbUmmN6tmZu61OkfNmMmZoYbXH/Pjdbydpa2jlXmYDr+X5hdR+xZx/vnnZ/Pmzdm4cWMee+yxdHd3H3Gbnp6ePPTQQ7n++uvTaDSyevXqo95vqmvMf7NxfGd6rsza7Dr8+P3iL/7irBynrVu35txzz528bGZqa3WOmjGTM0MNrz/mjjetzMN0+L00v/iTPm8hr/2NwFWrVqWzs3Na95vqGvPfXB3f6TyvWZtbZoaZMN9nhnocb15vvv+MMYczS9QCAABQlpcfAwAAUJaoBQAAoCxRCwAAQFmiFgAAgLJELQAAAGX9H57KHxW71ANaAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 1164.96x720 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.figure(figsize=(16.18,10))\n",
    "plt.bar(c.index, c.values)\n",
    "plt.title('财产分布')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 4 跨年库 cross和个人库 person"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 4.1 家庭成员有身故、病重、意外比例\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "- 跨年库\n",
    "    - alive18：18年是否存活；\n",
    "    - deathcause_code：死亡原因；\n",
    "- 个人库\n",
    "    - qp303：是否病重"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 184,
   "metadata": {},
   "outputs": [],
   "source": [
    "data_cross = pd.read_stata(file_path_cross, convert_categoricals=False) \n",
    "data_person = pd.read_stata(file_path_person, convert_categoricals=False) "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 186,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      " 1.0    57781\n",
      "-8.0    15448\n",
      " 0.0      901\n",
      "Name: alive18, dtype: int64\n"
     ]
    }
   ],
   "source": [
    "print(data_cross['alive18'].value_counts()) #0：去世；1：健在；-8：不适用"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 187,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>pid</th>\n",
       "      <th>birthy</th>\n",
       "      <th>gender</th>\n",
       "      <th>ethnicity</th>\n",
       "      <th>entrayear</th>\n",
       "      <th>fidbaseline</th>\n",
       "      <th>psu</th>\n",
       "      <th>subsample</th>\n",
       "      <th>subpopulation</th>\n",
       "      <th>fid10</th>\n",
       "      <th>...</th>\n",
       "      <th>cfps2018sch</th>\n",
       "      <th>cfps2018eduy</th>\n",
       "      <th>cfps2018eduy_im</th>\n",
       "      <th>urban18</th>\n",
       "      <th>hk18</th>\n",
       "      <th>employ18</th>\n",
       "      <th>genetype18</th>\n",
       "      <th>coremember18</th>\n",
       "      <th>alive18</th>\n",
       "      <th>releaseversion</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>290</th>\n",
       "      <td>110060581.0</td>\n",
       "      <td>1912.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>2016.0</td>\n",
       "      <td>110060.0</td>\n",
       "      <td>45.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>6.0</td>\n",
       "      <td>-8.0</td>\n",
       "      <td>...</td>\n",
       "      <td>-9.0</td>\n",
       "      <td>-9.0</td>\n",
       "      <td>-9.0</td>\n",
       "      <td>-8.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>-8.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2018.1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>328</th>\n",
       "      <td>110074101.0</td>\n",
       "      <td>1948.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>2010.0</td>\n",
       "      <td>110074.0</td>\n",
       "      <td>45.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>6.0</td>\n",
       "      <td>110074.0</td>\n",
       "      <td>...</td>\n",
       "      <td>-9.0</td>\n",
       "      <td>-9.0</td>\n",
       "      <td>-9.0</td>\n",
       "      <td>-8.0</td>\n",
       "      <td>-8.0</td>\n",
       "      <td>-8.0</td>\n",
       "      <td>7.0</td>\n",
       "      <td>-8.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2018.1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>366</th>\n",
       "      <td>110092102.0</td>\n",
       "      <td>1938.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>2010.0</td>\n",
       "      <td>110092.0</td>\n",
       "      <td>45.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>6.0</td>\n",
       "      <td>110092.0</td>\n",
       "      <td>...</td>\n",
       "      <td>-9.0</td>\n",
       "      <td>-9.0</td>\n",
       "      <td>-9.0</td>\n",
       "      <td>-8.0</td>\n",
       "      <td>-8.0</td>\n",
       "      <td>-8.0</td>\n",
       "      <td>7.0</td>\n",
       "      <td>-8.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2018.1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>416</th>\n",
       "      <td>110119581.0</td>\n",
       "      <td>1924.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>2016.0</td>\n",
       "      <td>110119.0</td>\n",
       "      <td>45.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>6.0</td>\n",
       "      <td>-8.0</td>\n",
       "      <td>...</td>\n",
       "      <td>1.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>-8.0</td>\n",
       "      <td>5.0</td>\n",
       "      <td>-8.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2018.1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>418</th>\n",
       "      <td>110120102.0</td>\n",
       "      <td>1959.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>2010.0</td>\n",
       "      <td>110120.0</td>\n",
       "      <td>45.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>6.0</td>\n",
       "      <td>110120.0</td>\n",
       "      <td>...</td>\n",
       "      <td>-9.0</td>\n",
       "      <td>-9.0</td>\n",
       "      <td>-9.0</td>\n",
       "      <td>-8.0</td>\n",
       "      <td>-8.0</td>\n",
       "      <td>-8.0</td>\n",
       "      <td>7.0</td>\n",
       "      <td>-8.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>2018.1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>5 rows × 95 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "             pid  birthy  gender  ethnicity  entrayear  fidbaseline   psu  \\\n",
       "290  110060581.0  1912.0     0.0        3.0     2016.0     110060.0  45.0   \n",
       "328  110074101.0  1948.0     1.0        1.0     2010.0     110074.0  45.0   \n",
       "366  110092102.0  1938.0     0.0        1.0     2010.0     110092.0  45.0   \n",
       "416  110119581.0  1924.0     0.0        NaN     2016.0     110119.0  45.0   \n",
       "418  110120102.0  1959.0     1.0        1.0     2010.0     110120.0  45.0   \n",
       "\n",
       "     subsample  subpopulation     fid10  ...  cfps2018sch  cfps2018eduy  \\\n",
       "290        1.0            6.0      -8.0  ...         -9.0          -9.0   \n",
       "328        1.0            6.0  110074.0  ...         -9.0          -9.0   \n",
       "366        1.0            6.0  110092.0  ...         -9.0          -9.0   \n",
       "416        1.0            6.0      -8.0  ...          1.0           0.0   \n",
       "418        1.0            6.0  110120.0  ...         -9.0          -9.0   \n",
       "\n",
       "     cfps2018eduy_im  urban18  hk18  employ18  genetype18 coremember18  \\\n",
       "290             -9.0     -8.0   3.0      -8.0         0.0          1.0   \n",
       "328             -9.0     -8.0  -8.0      -8.0         7.0         -8.0   \n",
       "366             -9.0     -8.0  -8.0      -8.0         7.0         -8.0   \n",
       "416              0.0     -8.0   5.0      -8.0         0.0          0.0   \n",
       "418             -9.0     -8.0  -8.0      -8.0         7.0         -8.0   \n",
       "\n",
       "     alive18  releaseversion  \n",
       "290      0.0          2018.1  \n",
       "328      0.0          2018.1  \n",
       "366      0.0          2018.1  \n",
       "416      0.0          2018.1  \n",
       "418      0.0          2018.1  \n",
       "\n",
       "[5 rows x 95 columns]"
      ]
     },
     "execution_count": 187,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "death=data_cross[data_cross['alive18']==0]\n",
    "death.loc[:,:].head(5)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 188,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "-8.0    23630\n",
      " 3.0     4188\n",
      " 5.0     3646\n",
      " 1.0     1628\n",
      "-1.0        5\n",
      "Name: qp303, dtype: int64\n"
     ]
    }
   ],
   "source": [
    "print(data_person['qp303'].value_counts()) #1：不严重；3：一般；5：严重；-8：不适用;-1:未知"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 189,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>pid</th>\n",
       "      <th>code</th>\n",
       "      <th>fid18</th>\n",
       "      <th>fid16</th>\n",
       "      <th>fid14</th>\n",
       "      <th>fid12</th>\n",
       "      <th>fid10</th>\n",
       "      <th>pid_a_f</th>\n",
       "      <th>pid_a_m</th>\n",
       "      <th>selfrpt</th>\n",
       "      <th>...</th>\n",
       "      <th>cfps2018eduy_im</th>\n",
       "      <th>gdge</th>\n",
       "      <th>gdgeyear</th>\n",
       "      <th>gdgemonth</th>\n",
       "      <th>catipilot</th>\n",
       "      <th>pg02</th>\n",
       "      <th>pg1201_min</th>\n",
       "      <th>pg1201_max</th>\n",
       "      <th>interviewerid18</th>\n",
       "      <th>releaseversion</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>100810551.0</td>\n",
       "      <td>551.0</td>\n",
       "      <td>100810.0</td>\n",
       "      <td>100810.0</td>\n",
       "      <td>-8.0</td>\n",
       "      <td>-8.0</td>\n",
       "      <td>-8.0</td>\n",
       "      <td>-8.0</td>\n",
       "      <td>-8.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>...</td>\n",
       "      <td>6.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>803368.0</td>\n",
       "      <td>2.1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>101129501.0</td>\n",
       "      <td>501.0</td>\n",
       "      <td>101129.0</td>\n",
       "      <td>101129.0</td>\n",
       "      <td>101129.0</td>\n",
       "      <td>-8.0</td>\n",
       "      <td>-8.0</td>\n",
       "      <td>-8.0</td>\n",
       "      <td>-8.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>...</td>\n",
       "      <td>9.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>477664.0</td>\n",
       "      <td>2.1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>103923551.0</td>\n",
       "      <td>551.0</td>\n",
       "      <td>103923.0</td>\n",
       "      <td>103923.0</td>\n",
       "      <td>-8.0</td>\n",
       "      <td>-8.0</td>\n",
       "      <td>-8.0</td>\n",
       "      <td>-8.0</td>\n",
       "      <td>-8.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>...</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>707372.0</td>\n",
       "      <td>2.1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>54</th>\n",
       "      <td>110026104.0</td>\n",
       "      <td>104.0</td>\n",
       "      <td>110026.0</td>\n",
       "      <td>110026.0</td>\n",
       "      <td>110026.0</td>\n",
       "      <td>110026.0</td>\n",
       "      <td>110026.0</td>\n",
       "      <td>110026204.0</td>\n",
       "      <td>110026205.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>...</td>\n",
       "      <td>9.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>831811.0</td>\n",
       "      <td>2.1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>59</th>\n",
       "      <td>110031101.0</td>\n",
       "      <td>101.0</td>\n",
       "      <td>110031.0</td>\n",
       "      <td>110031.0</td>\n",
       "      <td>110031.0</td>\n",
       "      <td>110031.0</td>\n",
       "      <td>110031.0</td>\n",
       "      <td>110031201.0</td>\n",
       "      <td>110031202.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>...</td>\n",
       "      <td>12.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>831811.0</td>\n",
       "      <td>2.1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>37272</th>\n",
       "      <td>732190501.0</td>\n",
       "      <td>501.0</td>\n",
       "      <td>732190.0</td>\n",
       "      <td>732190.0</td>\n",
       "      <td>732190.0</td>\n",
       "      <td>-8.0</td>\n",
       "      <td>-8.0</td>\n",
       "      <td>-8.0</td>\n",
       "      <td>-8.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>...</td>\n",
       "      <td>0.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>508549.0</td>\n",
       "      <td>2.1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>37281</th>\n",
       "      <td>766521551.0</td>\n",
       "      <td>551.0</td>\n",
       "      <td>766521.0</td>\n",
       "      <td>766521.0</td>\n",
       "      <td>-8.0</td>\n",
       "      <td>-8.0</td>\n",
       "      <td>-8.0</td>\n",
       "      <td>-8.0</td>\n",
       "      <td>-8.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>...</td>\n",
       "      <td>0.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>660846.0</td>\n",
       "      <td>2.1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>37318</th>\n",
       "      <td>903892431.0</td>\n",
       "      <td>431.0</td>\n",
       "      <td>903892.0</td>\n",
       "      <td>903892.0</td>\n",
       "      <td>903892.0</td>\n",
       "      <td>903892.0</td>\n",
       "      <td>-8.0</td>\n",
       "      <td>903892432.0</td>\n",
       "      <td>903892433.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>...</td>\n",
       "      <td>12.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>533008.0</td>\n",
       "      <td>2.1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>37323</th>\n",
       "      <td>912238554.0</td>\n",
       "      <td>554.0</td>\n",
       "      <td>912238.0</td>\n",
       "      <td>912238.0</td>\n",
       "      <td>-8.0</td>\n",
       "      <td>-8.0</td>\n",
       "      <td>-8.0</td>\n",
       "      <td>-8.0</td>\n",
       "      <td>-8.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>...</td>\n",
       "      <td>0.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>605017.0</td>\n",
       "      <td>2.1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>37325</th>\n",
       "      <td>923714501.0</td>\n",
       "      <td>501.0</td>\n",
       "      <td>923714.0</td>\n",
       "      <td>923714.0</td>\n",
       "      <td>923714.0</td>\n",
       "      <td>-8.0</td>\n",
       "      <td>-8.0</td>\n",
       "      <td>370452102.0</td>\n",
       "      <td>370452101.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>...</td>\n",
       "      <td>4.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>423385.0</td>\n",
       "      <td>2.1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>3646 rows × 1371 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "               pid   code     fid18     fid16     fid14     fid12     fid10  \\\n",
       "7      100810551.0  551.0  100810.0  100810.0      -8.0      -8.0      -8.0   \n",
       "8      101129501.0  501.0  101129.0  101129.0  101129.0      -8.0      -8.0   \n",
       "15     103923551.0  551.0  103923.0  103923.0      -8.0      -8.0      -8.0   \n",
       "54     110026104.0  104.0  110026.0  110026.0  110026.0  110026.0  110026.0   \n",
       "59     110031101.0  101.0  110031.0  110031.0  110031.0  110031.0  110031.0   \n",
       "...            ...    ...       ...       ...       ...       ...       ...   \n",
       "37272  732190501.0  501.0  732190.0  732190.0  732190.0      -8.0      -8.0   \n",
       "37281  766521551.0  551.0  766521.0  766521.0      -8.0      -8.0      -8.0   \n",
       "37318  903892431.0  431.0  903892.0  903892.0  903892.0  903892.0      -8.0   \n",
       "37323  912238554.0  554.0  912238.0  912238.0      -8.0      -8.0      -8.0   \n",
       "37325  923714501.0  501.0  923714.0  923714.0  923714.0      -8.0      -8.0   \n",
       "\n",
       "           pid_a_f      pid_a_m  selfrpt  ...  cfps2018eduy_im  gdge  \\\n",
       "7             -8.0         -8.0      1.0  ...              6.0   NaN   \n",
       "8             -8.0         -8.0      1.0  ...              9.0   NaN   \n",
       "15            -8.0         -8.0      1.0  ...              NaN   NaN   \n",
       "54     110026204.0  110026205.0      1.0  ...              9.0   NaN   \n",
       "59     110031201.0  110031202.0      1.0  ...             12.0   NaN   \n",
       "...            ...          ...      ...  ...              ...   ...   \n",
       "37272         -8.0         -8.0      1.0  ...              0.0   NaN   \n",
       "37281         -8.0         -8.0      1.0  ...              0.0   NaN   \n",
       "37318  903892432.0  903892433.0      1.0  ...             12.0   NaN   \n",
       "37323         -8.0         -8.0      1.0  ...              0.0   NaN   \n",
       "37325  370452102.0  370452101.0      1.0  ...              4.0   NaN   \n",
       "\n",
       "       gdgeyear  gdgemonth  catipilot  pg02  pg1201_min  pg1201_max  \\\n",
       "7           NaN        NaN        0.0   NaN         NaN         NaN   \n",
       "8           NaN        NaN        0.0   NaN         NaN         NaN   \n",
       "15          NaN        NaN        0.0   NaN         NaN         NaN   \n",
       "54          NaN        NaN        0.0   NaN         NaN         NaN   \n",
       "59          NaN        NaN        0.0   NaN         NaN         NaN   \n",
       "...         ...        ...        ...   ...         ...         ...   \n",
       "37272       NaN        NaN        0.0   NaN         NaN         NaN   \n",
       "37281       NaN        NaN        0.0   NaN         NaN         NaN   \n",
       "37318       NaN        NaN        0.0   NaN         NaN         NaN   \n",
       "37323       NaN        NaN        0.0   NaN         NaN         NaN   \n",
       "37325       NaN        NaN        0.0   NaN         NaN         NaN   \n",
       "\n",
       "       interviewerid18  releaseversion  \n",
       "7             803368.0             2.1  \n",
       "8             477664.0             2.1  \n",
       "15            707372.0             2.1  \n",
       "54            831811.0             2.1  \n",
       "59            831811.0             2.1  \n",
       "...                ...             ...  \n",
       "37272         508549.0             2.1  \n",
       "37281         660846.0             2.1  \n",
       "37318         533008.0             2.1  \n",
       "37323         605017.0             2.1  \n",
       "37325         423385.0             2.1  \n",
       "\n",
       "[3646 rows x 1371 columns]"
      ]
     },
     "execution_count": 189,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "seriously_ill=data_person[data_person['qp303']==5]\n",
    "seriously_ill.loc[:,:]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 190,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "家庭成员身故/病重占比： 0.2563\n"
     ]
    }
   ],
   "source": [
    "s1=death['fid18'].unique().size\n",
    "s2=seriously_ill['fid18'].unique().size\n",
    "s=data_cross['fid18'].unique().size\n",
    "print('家庭成员身故/病重占比：',round((s1+s2)/s,4))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 4.2 家庭成员因意外导致无法工作的比例"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "- 个人库\n",
    "    - qgb6(没有工作的原因)：1-不需要/不想工作；2-照料家庭；3-退休/离休；4-年纪大了；5-因残障/疾病没有劳动能力；6-无合适的工作；7-上学/培训；77-其他"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 194,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "-8.0     25936\n",
      " 4.0      1918\n",
      " 2.0      1886\n",
      " 3.0      1517\n",
      " 5.0       941\n",
      " 6.0       371\n",
      " 77.0      345\n",
      " 1.0       141\n",
      " 7.0        40\n",
      "-1.0         2\n",
      "Name: qgb6, dtype: int64\n"
     ]
    }
   ],
   "source": [
    "print(data_person['qgb6'].value_counts())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 192,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>pid</th>\n",
       "      <th>code</th>\n",
       "      <th>fid18</th>\n",
       "      <th>fid16</th>\n",
       "      <th>fid14</th>\n",
       "      <th>fid12</th>\n",
       "      <th>fid10</th>\n",
       "      <th>pid_a_f</th>\n",
       "      <th>pid_a_m</th>\n",
       "      <th>selfrpt</th>\n",
       "      <th>...</th>\n",
       "      <th>cfps2018eduy_im</th>\n",
       "      <th>gdge</th>\n",
       "      <th>gdgeyear</th>\n",
       "      <th>gdgemonth</th>\n",
       "      <th>catipilot</th>\n",
       "      <th>pg02</th>\n",
       "      <th>pg1201_min</th>\n",
       "      <th>pg1201_max</th>\n",
       "      <th>interviewerid18</th>\n",
       "      <th>releaseversion</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>41</th>\n",
       "      <td>110015104.0</td>\n",
       "      <td>104.0</td>\n",
       "      <td>110015.0</td>\n",
       "      <td>110015.0</td>\n",
       "      <td>110015.0</td>\n",
       "      <td>110015.0</td>\n",
       "      <td>110015.0</td>\n",
       "      <td>110015203.0</td>\n",
       "      <td>110015102.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>...</td>\n",
       "      <td>12.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>831811.0</td>\n",
       "      <td>2.1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>109</th>\n",
       "      <td>110076101.0</td>\n",
       "      <td>101.0</td>\n",
       "      <td>110076.0</td>\n",
       "      <td>110076.0</td>\n",
       "      <td>110076.0</td>\n",
       "      <td>110076.0</td>\n",
       "      <td>110076.0</td>\n",
       "      <td>-8.0</td>\n",
       "      <td>-8.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>...</td>\n",
       "      <td>15.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>761040.0</td>\n",
       "      <td>2.1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>231</th>\n",
       "      <td>120036102.0</td>\n",
       "      <td>102.0</td>\n",
       "      <td>120036.0</td>\n",
       "      <td>120036.0</td>\n",
       "      <td>120036.0</td>\n",
       "      <td>120036.0</td>\n",
       "      <td>120036.0</td>\n",
       "      <td>120036206.0</td>\n",
       "      <td>120036207.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>...</td>\n",
       "      <td>2.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>459505.0</td>\n",
       "      <td>2.1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>278</th>\n",
       "      <td>120081102.0</td>\n",
       "      <td>102.0</td>\n",
       "      <td>120081.0</td>\n",
       "      <td>120081.0</td>\n",
       "      <td>120081.0</td>\n",
       "      <td>120081.0</td>\n",
       "      <td>120081.0</td>\n",
       "      <td>120081106.0</td>\n",
       "      <td>120081101.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>...</td>\n",
       "      <td>0.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>381518.0</td>\n",
       "      <td>2.1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>290</th>\n",
       "      <td>120087102.0</td>\n",
       "      <td>102.0</td>\n",
       "      <td>120087.0</td>\n",
       "      <td>120087.0</td>\n",
       "      <td>120087.0</td>\n",
       "      <td>120087.0</td>\n",
       "      <td>120087.0</td>\n",
       "      <td>120087201.0</td>\n",
       "      <td>-8.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>...</td>\n",
       "      <td>6.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>381518.0</td>\n",
       "      <td>2.1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>36872</th>\n",
       "      <td>621726102.0</td>\n",
       "      <td>102.0</td>\n",
       "      <td>621726.0</td>\n",
       "      <td>621726.0</td>\n",
       "      <td>621726.0</td>\n",
       "      <td>621726.0</td>\n",
       "      <td>621726.0</td>\n",
       "      <td>621726203.0</td>\n",
       "      <td>621726204.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>...</td>\n",
       "      <td>9.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>651846.0</td>\n",
       "      <td>2.1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>36875</th>\n",
       "      <td>621727103.0</td>\n",
       "      <td>103.0</td>\n",
       "      <td>621727.0</td>\n",
       "      <td>621727.0</td>\n",
       "      <td>621727.0</td>\n",
       "      <td>621727.0</td>\n",
       "      <td>621727.0</td>\n",
       "      <td>621727207.0</td>\n",
       "      <td>621727208.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>...</td>\n",
       "      <td>0.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>651846.0</td>\n",
       "      <td>2.1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>36951</th>\n",
       "      <td>621772101.0</td>\n",
       "      <td>101.0</td>\n",
       "      <td>621772.0</td>\n",
       "      <td>621772.0</td>\n",
       "      <td>621772.0</td>\n",
       "      <td>621772.0</td>\n",
       "      <td>621772.0</td>\n",
       "      <td>621772201.0</td>\n",
       "      <td>621772202.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>...</td>\n",
       "      <td>6.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>847181.0</td>\n",
       "      <td>2.1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>37145</th>\n",
       "      <td>621858102.0</td>\n",
       "      <td>102.0</td>\n",
       "      <td>621858.0</td>\n",
       "      <td>621858.0</td>\n",
       "      <td>621858.0</td>\n",
       "      <td>621858.0</td>\n",
       "      <td>621858.0</td>\n",
       "      <td>621858203.0</td>\n",
       "      <td>621858204.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>...</td>\n",
       "      <td>0.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>243845.0</td>\n",
       "      <td>2.1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>37153</th>\n",
       "      <td>621861102.0</td>\n",
       "      <td>102.0</td>\n",
       "      <td>621861.0</td>\n",
       "      <td>621861.0</td>\n",
       "      <td>621861.0</td>\n",
       "      <td>621861.0</td>\n",
       "      <td>621861.0</td>\n",
       "      <td>621861203.0</td>\n",
       "      <td>621861204.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>...</td>\n",
       "      <td>6.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>0.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>513528.0</td>\n",
       "      <td>2.1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>941 rows × 1371 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "               pid   code     fid18     fid16     fid14     fid12     fid10  \\\n",
       "41     110015104.0  104.0  110015.0  110015.0  110015.0  110015.0  110015.0   \n",
       "109    110076101.0  101.0  110076.0  110076.0  110076.0  110076.0  110076.0   \n",
       "231    120036102.0  102.0  120036.0  120036.0  120036.0  120036.0  120036.0   \n",
       "278    120081102.0  102.0  120081.0  120081.0  120081.0  120081.0  120081.0   \n",
       "290    120087102.0  102.0  120087.0  120087.0  120087.0  120087.0  120087.0   \n",
       "...            ...    ...       ...       ...       ...       ...       ...   \n",
       "36872  621726102.0  102.0  621726.0  621726.0  621726.0  621726.0  621726.0   \n",
       "36875  621727103.0  103.0  621727.0  621727.0  621727.0  621727.0  621727.0   \n",
       "36951  621772101.0  101.0  621772.0  621772.0  621772.0  621772.0  621772.0   \n",
       "37145  621858102.0  102.0  621858.0  621858.0  621858.0  621858.0  621858.0   \n",
       "37153  621861102.0  102.0  621861.0  621861.0  621861.0  621861.0  621861.0   \n",
       "\n",
       "           pid_a_f      pid_a_m  selfrpt  ...  cfps2018eduy_im  gdge  \\\n",
       "41     110015203.0  110015102.0      1.0  ...             12.0   NaN   \n",
       "109           -8.0         -8.0      1.0  ...             15.0   NaN   \n",
       "231    120036206.0  120036207.0      1.0  ...              2.0   NaN   \n",
       "278    120081106.0  120081101.0      1.0  ...              0.0   NaN   \n",
       "290    120087201.0         -8.0      1.0  ...              6.0   NaN   \n",
       "...            ...          ...      ...  ...              ...   ...   \n",
       "36872  621726203.0  621726204.0      1.0  ...              9.0   NaN   \n",
       "36875  621727207.0  621727208.0      1.0  ...              0.0   NaN   \n",
       "36951  621772201.0  621772202.0      1.0  ...              6.0   NaN   \n",
       "37145  621858203.0  621858204.0      1.0  ...              0.0   NaN   \n",
       "37153  621861203.0  621861204.0      1.0  ...              6.0   NaN   \n",
       "\n",
       "       gdgeyear  gdgemonth  catipilot  pg02  pg1201_min  pg1201_max  \\\n",
       "41          NaN        NaN        0.0   NaN         NaN         NaN   \n",
       "109         NaN        NaN        0.0   NaN         NaN         NaN   \n",
       "231         NaN        NaN        0.0   NaN         NaN         NaN   \n",
       "278         NaN        NaN        0.0   NaN         NaN         NaN   \n",
       "290         NaN        NaN        0.0   NaN         NaN         NaN   \n",
       "...         ...        ...        ...   ...         ...         ...   \n",
       "36872       NaN        NaN        0.0   NaN         NaN         NaN   \n",
       "36875       NaN        NaN        0.0   NaN         NaN         NaN   \n",
       "36951       NaN        NaN        0.0   NaN         NaN         NaN   \n",
       "37145       NaN        NaN        0.0   NaN         NaN         NaN   \n",
       "37153       NaN        NaN        0.0   NaN         NaN         NaN   \n",
       "\n",
       "       interviewerid18  releaseversion  \n",
       "41            831811.0             2.1  \n",
       "109           761040.0             2.1  \n",
       "231           459505.0             2.1  \n",
       "278           381518.0             2.1  \n",
       "290           381518.0             2.1  \n",
       "...                ...             ...  \n",
       "36872         651846.0             2.1  \n",
       "36875         651846.0             2.1  \n",
       "36951         847181.0             2.1  \n",
       "37145         243845.0             2.1  \n",
       "37153         513528.0             2.1  \n",
       "\n",
       "[941 rows x 1371 columns]"
      ]
     },
     "execution_count": 192,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "unable_to_work=data_person[data_person['qgb6']==5]\n",
    "unable_to_work.loc[:,:]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 193,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "家庭成员因意外导致无法工作占比： 0.0595\n"
     ]
    }
   ],
   "source": [
    "s3=unable_to_work['fid18'].unique().size\n",
    "print('家庭成员因意外导致无法工作占比：',round(s3/s,4))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.7"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
